コード例 #1
0
ファイル: OleDBMigrator.cs プロジェクト: hossmi/qtfk
 public OleDBMigrator(IDBIO db, IDBMigrationStepProvider migratorProvider)
 {
     this._db             = db;
     this._migrationSteps = (migratorProvider.GetSteps() ?? Enumerable.Empty <IDBMigrationStep>())
                            .ToDictionary(m => m.ForVersion);
     this._tableName = $"{migratorProvider.TablePrefix ?? ""}{kVersionTableName}";
 }
コード例 #2
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
        public static int Set(this IDBIO dbio, IEnumerable <string> queries, bool throwOnException = true)
        {
            return(dbio.Set(cmd =>
            {
                Result <int> queryExecutionResult;
                int affectedRows;

                affectedRows = 0;

                foreach (string query in queries.notEmpty())
                {
                    cmd.CommandText = query;
                    queryExecutionResult = new Result <int>(cmd.ExecuteNonQuery);

                    if (queryExecutionResult.Ok)
                    {
                        affectedRows += queryExecutionResult.Value;
                    }
                    else if (throwOnException)
                    {
                        throw queryExecutionResult.Exception;
                    }
                }

                return affectedRows;
            }));
        }
コード例 #3
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
        private static IEnumerable <T> prv_get <T>(IDBIO dbio, IDBQuery query, Func <IDataRecord, T> buildDelegate)
        {
            QueryCompilation queryCompilation;

            queryCompilation = query.Compile();

            return(prv_get <T>(dbio, queryCompilation.Query, queryCompilation.Parameters, buildDelegate));
        }
コード例 #4
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
 public static void Set(this IDBIO dbio, Action <IDbCommand> instructions)
 {
     dbio.Set(cmd =>
     {
         instructions(cmd);
         return(0);
     });
 }
コード例 #5
0
        public DefaultQueryExecutor(IDBIO db, IQueryFactory queryFactory)
        {
            Asserts.isNotNull(db);
            Asserts.isNotNull(queryFactory);

            this.db           = db;
            this.queryFactory = queryFactory;
        }
コード例 #6
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
        public static int Set(this IDBIO dbio, IDBQuery query)
        {
            QueryCompilation queryCompilation;

            queryCompilation = query.Compile();

            return(prv_set(dbio, queryCompilation.Query, queryCompilation.Parameters));
        }
コード例 #7
0
ファイル: CreateDrop.cs プロジェクト: hossmi/qtfk
        public CreateDrop(string connectionString = null, IDBIO db = null)
        {
            this._connectionString = connectionString ?? System.Configuration.ConfigurationManager.ConnectionStrings["tests"]?.ConnectionString;
            if (string.IsNullOrWhiteSpace(this._connectionString))
            {
                throw new ArgumentException($"Empty or invalid 'tests' connection string in app.config", "tests");
            }

            this._db = db ?? new SQLServerDBIO(this._connectionString);
        }
コード例 #8
0
ファイル: OleDBMigrationTests.cs プロジェクト: hossmi/qtfk
 public OleDBMigrationTests()
 {
     this.connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["tests"]?.ConnectionString;
     if (string.IsNullOrWhiteSpace(this.connectionString))
     {
         throw new ArgumentException($"Empty or invalid 'tests' connection string in app.config", "tests");
     }
     this.db         = new OleDBIO(this.connectionString);
     this.createDrop = new CreateDrop(this.connectionString, this.db);
 }
コード例 #9
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
        private static int prv_set(IDBIO dbio, string query, IEnumerable <KeyValuePair <string, object> > parameters)
        {
            return(dbio.Set(cmd =>
            {
                cmd.CommandText = query;
                cmd.addParameters(parameters);

                return cmd.ExecuteNonQuery();
            }));
        }
コード例 #10
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
 public static IEnumerable <T> Get <T>(this IDBIO dbio, string query, IEnumerable <KeyValuePair <string, object> > parameters) where T : new()
 {
     return(prv_get <T>(dbio, query, parameters, AutoMapExtension.AutoMap <T>));
 }
コード例 #11
0
 int IDBMigrationStep.Upgrade(IDBIO db)
 {
     return(Upgrade(db));
 }
コード例 #12
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
 private static IEnumerable <T> prv_get <T>(IDBIO dbio, string query, IEnumerable <KeyValuePair <string, object> > parameters, Func <IDataRecord, T> buildDelegate)
 {
     return(dbio.Get <T>(query, parameters, buildDelegate));
 }
コード例 #13
0
 void IDBMigrationStep.Downgrade(IDBIO db)
 {
     Downgrade?.Invoke(db);
 }
コード例 #14
0
 public static string getDBEngine(this IDBIO db)
 {
     return(prv_getDBEngine(db));
 }
コード例 #15
0
 public static int execute(this IDBQuery query, IDBIO db)
 {
     return(db.Set(query));
 }
コード例 #16
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
 public static int Set(this IDBIO dbio, string query)
 {
     return(prv_set(dbio, query, emptyParameterCollection));
 }
コード例 #17
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
 public static IEnumerable <T> Get <T>(this IDBIO dbio, string query) where T : new()
 {
     return(prv_get <T>(dbio, query, emptyParameterCollection, AutoMapExtension.AutoMap <T>));
 }
コード例 #18
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
 public static IEnumerable <T> Get <T>(this IDBIO dbio, string query, Func <IDataRecord, T> buildDelegate)
 {
     return(prv_get <T>(dbio, query, emptyParameterCollection, buildDelegate));
 }
コード例 #19
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
 public static int Set(this IDBIO dbio, string query, IEnumerable <KeyValuePair <string, object> > parameters)
 {
     return(prv_set(dbio, query, parameters));
 }
コード例 #20
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
 public static IEnumerable <T> Get <T>(this IDBIO dbio, IDBQuery query) where T : new()
 {
     return(prv_get <T>(dbio, query, AutoMapExtension.AutoMap <T>));
 }
コード例 #21
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
 public static DataSet Get(this IDBIO dbio, string query)
 {
     return(dbio.Get(query, emptyParameterCollection));
 }
コード例 #22
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
 public static IEnumerable <T> Get <T>(this IDBIO dbio, IDBQuery query, Func <IDataRecord, T> buildDelegate)
 {
     return(prv_get <T>(dbio, query, buildDelegate));
 }
コード例 #23
0
ファイル: DBIOExtension.cs プロジェクト: hossmi/qtfk
 public static T GetScalar <T>(this IDBIO dbio, string query) where T : struct
 {
     return(dbio.GetScalar <T>(query, emptyParameterCollection));
 }
コード例 #24
0
 private void DropTableCliente(IDBIO db)
 {
     db.Set($@"DROP TABLE cliente");
 }