Пример #1
0
        public static DbMigrationProvider GetProvider(DbSetting dbSetting)
        {
            DbMigrationProvider provider = null;

            //ISqlConverter Factory
            switch (dbSetting.ProviderName)
            {
                case DbConnectionSchema.Provider_SqlClient:
                    provider = new SqlServerMigrationProvider();
                    break;
                case DbConnectionSchema.Provider_SqlCe:
                    provider = new SqlServerCeMigrationProvider();
                    break;
                //case "System.Data.Odbc":
                //    return new ODBCProvider();
                default:
                    if (DbConnectionSchema.IsOracleProvider(dbSetting))
                    {
                        provider = new OracleMigrationProvider();
                        break;
                    }
                    throw new NotSupportedException("This type of database is not supportted now:" + dbSetting.ProviderName);
            }

            provider.DbSetting = dbSetting;

            return provider;
        }
Пример #2
0
        public DbMetaReader(DbSetting dbSetting)
        {
            if (dbSetting == null) throw new ArgumentNullException("dbSetting");

            this._dbSetting = dbSetting;
            this._db = new DbAccesser(dbSetting);
        }
Пример #3
0
        internal ManagedConnectionDbAccesser(DbSetting dbSetting)
        {
            if (dbSetting == null) throw new ArgumentNullException("dbSetting");

            _connectionManager = TransactionDependentConnectionManager.GetManager(dbSetting);

            _dba = new DbAccesser(dbSetting, _connectionManager.Connection);
        }
Пример #4
0
        /// <summary>
        /// 构造一个本地事务代码块
        /// </summary>
        /// <param name="dbSetting">数据库配置</param>
        /// <param name="level">
        /// 此级别只在最外层的代码块中有效。
        /// </param>
        public LocalTransactionBlock(DbSetting dbSetting, IsolationLevel level)
            : base(Context)
        {
            this._dbSetting = dbSetting;
            this._level = level;

            var name = LocalContextName(_dbSetting.Database);
            this.EnterScope(name);
        }
Пример #5
0
        public RafyDbMigrationContext(DbSetting dbSetting)
            : base(dbSetting)
        {
            this.ManualMigrations = new RafyUserMigrations();
            this.ClassMetaReader = new ClassMetaReader(this.DbSetting);
            //this.DbVersionProvider = new RafyDbVersionProvider();

            //如果需要使用 DbHistoryHistory 库来记录升级日志,可使用以下代码。
            //this.HistoryRepository = new DbHistoryRepository();
        }
Пример #6
0
 /// <summary>
 /// 根据数据库配置来创建对应数据库的批量导入器。
 /// </summary>
 /// <param name="setting"></param>
 /// <returns></returns>
 public static IBatchImporter CreateImporter(DbSetting setting)
 {
     switch (setting.ProviderName)
     {
         case DbSetting.Provider_SqlClient:
             return new SqlBatchImporter();
         default:
             if (DbSetting.IsOracleProvider(setting))
             {
                 return new OracleBatchImporter();
             }
             throw new NotSupportedException("目前不支持该类型数据库的批量导入:" + setting.ProviderName);
     }
 }
        public static TransactionDependentConnectionManager GetManager(DbSetting dbSetting)
        {
            var res = new TransactionDependentConnectionManager();

            res._block = LocalTransactionBlock.GetWholeScope(dbSetting.Database);
            if (res._block != null)
            {
                res._connection = res._block.WholeTransaction.Connection;
            }
            else
            {
                //没有定义事务范围时,无需共享连接。
                res._connection = dbSetting.CreateConnection();
                res._connection.Open();
            }

            res._dbSetting = dbSetting;

            return res;
        }
Пример #8
0
        private ReturnData <dynamic> GetProcessAmount(string userCode, string project, string payeCode, decimal deductionAmount)
        {
            try
            {
                string connetionString = DbSetting.ConnectionString(_configuration, "Unisol");

                SqlConnection connection = new SqlConnection(connetionString);
                connection.Open();
                var processAmountQuery = $"SELECT ISNULL(hrpIPProcess.[{payeCode}], 0) as Amount, Project FROM hrpIPProcess where EmpNo = '{userCode}' and Project = '{project}'";
                var sqlCommand         = new SqlCommand(processAmountQuery, connection);
                var reader             = sqlCommand.ExecuteReader();
                var deductions         = new List <dynamic>();
                while (reader.Read())
                {
                    var projectName = reader[1].ToString();
                    decimal.TryParse(reader[0].ToString(), out decimal processAmount);
                    deductionAmount = deductionAmount < 0 ? processAmount : deductionAmount;
                    deductions.Add(new {
                        projectName,
                        deductionAmount
                    });
                }

                sqlCommand.Dispose();
                connection.Close();

                return(new ReturnData <dynamic>
                {
                    Success = true,
                    Data = deductions
                });
            }
            catch (Exception ex)
            {
                return(new ReturnData <dynamic>
                {
                    Success = false,
                    Message = "Sorry, An error occurred"
                });
            }
        }
Пример #9
0
        /// <summary>
        /// 根据数据库配置获取一个连接管理器
        /// </summary>
        /// <param name="dbSetting"></param>
        /// <returns></returns>
        public static ConnectionManager GetManager(DbSetting dbSetting)
        {
            var ctxName = GetContextName(dbSetting);

            lock (_lock)
            {
                var items = AppContext.Items;

                object value = null;
                items.TryGetValue(ctxName, out value);
                var mgr = value as ConnectionManager;
                if (mgr == null)
                {
                    mgr = new ConnectionManager(dbSetting);
                    items.Add(ctxName, mgr);
                }

                mgr.AddRef();
                return(mgr);
            }
        }
Пример #10
0
        /// <summary>
        /// 以快速键值对照来获取 DbProviderFactory。
        /// </summary>
        /// <param name="provider"></param>
        /// <returns>返回DbProviderFactory类型的具体对象实例</returns>
        public static DbProviderFactory GetFactory(string provider)
        {
            //ISqlConverter Factory
            switch (provider)
            {
            case DbSetting.Provider_SqlClient:
                if (_sql == null)
                {
                    _sql = DbProviderFactories.GetFactory(DbSetting.Provider_SqlClient);
                }
                return(_sql);

            case DbSetting.Provider_SqlCe:
                if (_sqlCe == null)
                {
                    _sqlCe = DbProviderFactories.GetFactory(DbSetting.Provider_SqlCe);
                }
                return(_sqlCe);

            //PatrickLiu增加的有关获取MySql的Provider工厂类
            case DbSetting.Provider_MySql:
                if (_mySql == null)
                {
                    _mySql = DbProviderFactories.GetFactory(DbSetting.Provider_MySql);
                }
                return(_mySql);

            default:
                if (DbSetting.IsOracleProvider(provider))
                {
                    if (_oracle == null)
                    {
                        _oracle = DbProviderFactories.GetFactory(provider);
                    }
                    return(_oracle);
                }
                return(DbProviderFactories.GetFactory(provider));
                //throw new NotSupportedException("This type of database is not supportted now:" + provider);
            }
        }
Пример #11
0
        public void DMT_AlterColumn_DbType()
        {
            if (IsTestDbSQLite())
            {
                return;
            }

            this.Test(destination =>
            {
                var taskTable = destination.FindTable("Task");
                taskTable.Columns.Remove(taskTable.FindColumn("Name"));
                taskTable.AddColumn("Name", DbType.Xml);
            }, result =>
            {
                var table  = result.FindTable("Task");
                var column = table.FindColumn("Name");
                Assert.IsTrue(column != null);

                var p = DbSetting.FindOrCreate(UnitTestEntityRepositoryDataProvider.DbSettingName).ProviderName;
                Assert.IsTrue(dbTypeConverter.IsCompatible(column.DbType, DbType.Xml));
            });
        }
Пример #12
0
        public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder)
        {
            // EntityFramework  Repository Context & Repositories
            var dbset = DbSetting.FindOrCreate("LCL");
            var efDataProviderManager = new EfDataProviderManager(dbset);
            var dataProvider          = efDataProviderManager.LoadDataProvider();

            dataProvider.InitConnectionFactory();
            builder.Register(c => dbset).As <DbSetting>();
            builder.Register <LclDbContext>(c => new EFTestContext(dbset.ConnectionString)).As(typeof(IRepositoryContext)).Named <IRepositoryContext>(dbset.Name).InstancePerLifetimeScope();
            builder.Register <IRepositoryContext>(c => new EFTestContext(dbset.ConnectionString)).Named <IRepositoryContext>(dbset.Name).InstancePerLifetimeScope();

            builder.RegisterType <CategorizationRepository>().As <ICategorizationRepository>().InstancePerLifetimeScope();
            builder.RegisterType <CategoryRepository>().As <ICategoryRepository>().InstancePerLifetimeScope();
            builder.RegisterType <ProductRepository>().As <IProductRepository>().InstancePerLifetimeScope();
            builder.RegisterType <SalesOrderRepository>().As <ISalesOrderRepository>().InstancePerLifetimeScope();
            builder.RegisterType <ShoppingCartItemRepository>().As <IShoppingCartItemRepository>().InstancePerLifetimeScope();
            builder.RegisterType <ShoppingCartRepository>().As <IShoppingCartRepository>().InstancePerLifetimeScope();
            builder.RegisterType <RoleRepository>().As <IRoleRepository>().InstancePerLifetimeScope();
            builder.RegisterType <UserRoleRepository>().As <IUserRoleRepository>().InstancePerLifetimeScope();
            builder.RegisterType <UserRepository>().As <IUserRepository>().InstancePerLifetimeScope();

            // Event Handlers
            builder.RegisterType <SendEmailHandler>().As <IEventHandler <OrderDispatchedEvent> >().InstancePerLifetimeScope();
            builder.RegisterType <SendEmailHandler>().As <IEventHandler <OrderConfirmedEvent> >().InstancePerLifetimeScope();

            // Domain Event Handlers
            builder.RegisterType <GetUserOrdersEvent>().As <IDomainEventHandler <GetUserOrdersEvent> >().InstancePerLifetimeScope();
            builder.RegisterType <OrderDispatchedEventHandler>().As <IDomainEventHandler <OrderDispatchedEvent> >().InstancePerLifetimeScope();
            builder.RegisterType <OrderConfirmedEventHandler>().As <IDomainEventHandler <OrderConfirmedEvent> >().InstancePerLifetimeScope();

            // Event Aggregator

            // Server
            builder.RegisterType <OrderService>().As <IOrderService>().InstancePerLifetimeScope();


            System.Diagnostics.Debug.WriteLine(Order + " init plugin LCL.Plugin.EasyUI.UCenter");
        }
Пример #13
0
        public void DMT_RefreshComments()
        {
            using (var context = new RafyDbMigrationContext(UnitTestEntityRepositoryDataProvider.DbSettingName))
            {
                context.RefreshComments();

                if (!DbSetting.IsOracleProvider(context.DbSetting))
                {
                    //数据库数据
                    using (var db = DbAccesserFactory.Create(context.DbSetting))
                    {
                        Func <string, DataRow[]> queryComments = tableName =>
                        {
                            var table = db.QueryDataTable(
                                @"select t.name tableName, c.name columnName, p.Value Comment from sys.all_columns c
join sys.tables t on c.object_id = t.object_id 
join sys.extended_properties p on p.major_id = c.object_id and p.minor_id = c.column_id
where t.name = '" + tableName + "'");
                            return(table.Rows.Cast <DataRow>().ToArray());
                        };
                        var rows = queryComments("ARTICLE");
                        Assert.IsTrue(rows.Any(r => r["columnName"].ToString() == "Id"), "主键必须有注释。");
                        Assert.IsTrue(rows.Any(r => r["columnName"].ToString() == "AdministratorId"), "外键必须有注释。");
                        Assert.IsTrue(rows.Any(r => r["columnName"].ToString() == "CreatedTime"), "扩展属性必须有注释。");

                        rows = queryComments("Roles");
                        var roleTypeDesc = rows.FirstOrDefault(r => r["columnName"].ToString() == "RoleType");
                        Assert.IsNotNull(roleTypeDesc, "枚举属性必须有注释。");
                        var comment = roleTypeDesc["Comment"].ToString();
                        Assert.AreEqual(comment, @"角色的类型
0:(Normal, 一般)
1:(Administrator, 管理员)");

                        //WF_ 开头的动态属性。
                    }
                }
            }
        }
Пример #14
0
        public static ISqlProvider Create(string provider)
        {
            //ISqlConverter Factory
            switch (provider)
            {
            case DbSetting.Provider_Odbc:
                if (_odbcConverter == null)
                {
                    _odbcConverter = new ODBCProvider();
                }
                return(_odbcConverter);

            case DbSetting.Provider_SqlClient:
            case DbSetting.Provider_SqlCe:
                if (_sqlConverter == null)
                {
                    _sqlConverter = new SqlServerProvider();
                }
                return(_sqlConverter);

            default:
                if (DbSetting.IsOracleProvider(provider))
                {
                    if (_oracleConverter == null)
                    {
                        _oracleConverter = new OracleProvider();
                    }
                    return(_oracleConverter);
                }

                if (_sqlConverter == null)
                {
                    _sqlConverter = new SqlServerProvider();
                }
                return(_sqlConverter);
            }
        }
Пример #15
0
        private string GetMaxNo(string refQuery)
        {
            var           connetionString = DbSetting.ConnectionString(_configuration, "Portal");
            SqlConnection connection      = new SqlConnection(connetionString);

            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }

            var sqlCommand = new SqlCommand(refQuery, connection);
            var reader     = sqlCommand.ExecuteReader();
            var refNo      = "";

            while (reader.Read())
            {
                refNo = reader[0]?.ToString() ?? "";
            }

            sqlCommand.Dispose();
            connection.Close();

            return(refNo);
        }
Пример #16
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var oldMembershipConnection = DbSetting.ConnectionString(Configuration, "OldMembership");
            var membership         = DbSetting.ConnectionString(Configuration, "Portal");
            var unisolDbConnection = DbSetting.ConnectionString(Configuration, "Unisol");

            services.AddMvc();
            services.AddDbContext <PortalCoreContext>(options => options.UseSqlServer(membership));
            services.AddDbContext <OldMembershipContext>(
                options => options.UseSqlServer(oldMembershipConnection)
                );
            services.AddDbContext <UnisolAPIdbContext>(options => options.UseSqlServer(unisolDbConnection)
                                                       );
            services.AddSingleton <IWeatherProvider, WeatherProviderFake>();
            services.AddSingleton <IUnisolApiProxy, UnisolApiProxy>();
            services.AddSingleton <IEmailConfiguration>(Configuration.GetSection("EmailConfiguration").Get <EmailConfiguration>());
            services.AddTransient <IEmailService, EmailService>();
            services.AddSingleton <IConfiguration>(Configuration);
            services.AddTransient <IPortalServices, PortalServices>();
            services.AddTransient <IUserManagementService, UserManagementService>();
            services.AddTransient <IAcademicsServices, AcademicsServices>();
            services.AddTransient <ICroneJobs, CroneJobs>();
            services.AddOptions();
            services.AddHangfire(x => x.UseSqlServerStorage(membership));
            //services.AddAuthentication(options =>
            //{
            //    options.DefaultAuthenticateScheme = CustomAuthOptions.DefaultScheme;
            //    options.DefaultChallengeScheme = CustomAuthOptions.DefaultScheme;
            //})
            //    // Call custom authentication extension method
            //    .AddCustomAuth(options =>
            //    {
            //        // Configure single or multiple passwords for authentication
            //        options.AuthKey = "custom auth key";
            //    });
        }
Пример #17
0
        /// <summary>
        /// 以快速键值对照来获取 DbProviderFactory。
        /// </summary>
        /// <param name="provider"></param>
        /// <returns>返回DbProviderFactory类型的具体对象实例</returns>
        public static DbProviderFactory GetFactory(string provider)
        {
            switch (provider)
            {
            case DbSetting.Provider_SqlClient:
                if (_sql == null)
                {
#if NET45
                    _sql = DbProviderFactories.GetFactory(DbSetting.Provider_SqlClient);
#endif
#if NS2
                    _sql = LoadFromAssembly("System.Data.SqlClient.SqlClientFactory, System.Data.SqlClient");
                    //_sql = System.Data.SqlClient.SqlClientFactory.Instance;
#endif
                }
                return(_sql);

            case DbSetting.Provider_SQLite:
                if (_sqlite == null)
                {
                    _sqlite = LoadFromAssembly("System.Data.SQLite.SQLiteFactory, System.Data.SQLite");
                }
                return(_sqlite);

            case DbSetting.Provider_SqlCe:
                if (_sqlCe == null)
                {
#if NET45
                    _sqlCe = DbProviderFactories.GetFactory(DbSetting.Provider_SqlCe);
#endif
#if NS2
                    _sqlCe = LoadFromAssembly("System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe");
                    //_sqlCe = System.Data.SqlServerCe.SqlCeProviderFactory.Instance;
#endif
                }
                return(_sqlCe);

            case DbSetting.Provider_MySql:
                if (_mySql == null)
                {
#if NET45
                    _mySql = DbProviderFactories.GetFactory(DbSetting.Provider_MySql);
#endif
#if NS2
                    _mySql = LoadFromAssembly("MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data");
                    //_mySql = MySql.Data.MySqlClient.MySqlClientFactory.Instance;
#endif
                }
                return(_mySql);

            default:
                if (DbSetting.IsOracleProvider(provider))
                {
                    if (_oracle == null)
                    {
#if NET45
                        _oracle = DbProviderFactories.GetFactory(provider);
#endif
#if NS2
                        _oracle = LoadFromAssembly("Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess");
                        //_oracle = Oracle.ManagedDataAccess.Client.OracleClientFactory.Instance;
#endif
                    }
                    return(_oracle);
                }
#if NET45
                return(DbProviderFactories.GetFactory(provider));
#endif
#if NS2
                return(System.Data.SqlClient.SqlClientFactory.Instance);
#endif
                //throw new NotSupportedException("This type of database is not supportted now:" + provider);
            }
        }
 /// <summary>
 /// Throws an exception if the 'batchSize' is greater than 1 and the multiple statement execution is not being supported
 /// based on the settings of the <see cref="IDbSetting"/> object.
 /// </summary>
 /// <param name="batchSize">The batch size to be evaluated.</param>
 protected void ValidateMultipleStatementExecution(int batchSize = Constant.DefaultBatchOperationSize)
 {
     if (DbSetting.IsMultiStatementExecutable == false && batchSize > 1)
     {
         throw new NotSupportedException($"Multiple execution is not supported based on the current database setting '{DbSetting.GetType().FullName}'. Consider setting the batchsize to 1.");
     }
 }
Пример #19
0
 public ClassMetaReader(DbSetting dbSetting)
 {
     this._dbSetting = dbSetting;
     this.IgnoreTables = new List<string>();
 }
Пример #20
0
 private ConnectionManager(DbSetting dbSetting)
 {
     _dbSetting = dbSetting;
     _connection = dbSetting.CreateConnection();
     _connection.Open();
 }
Пример #21
0
 private static string GetContextName(DbSetting dbSetting)
 {
     return "__db:" + dbSetting.Name;
 }
 /// <summary>
 /// 构造一个事务块
 /// </summary>
 /// <param name="dbSetting">整个数据库的配置名</param>
 /// <param name="level">事务的孤立级别</param>
 public SingleConnectionTrasactionScope(DbSetting dbSetting, IsolationLevel level)
     : base(dbSetting, level)
 {
 }
Пример #23
0
        public DbMigrationContext(DbSetting dbSetting)
        {
            if (dbSetting == null) throw new ArgumentNullException("dbSetting");

            this.DbSetting = dbSetting;

            this.RunDataLossOperation = DataLossOperation.None;

            this._dbProvider = DbMigrationProviderFactory.GetProvider(dbSetting);

            this._runGenerator = this._dbProvider.CreateRunGenerator();
            this.DatabaseMetaReader = this._dbProvider.CreateSchemaReader();
        }
Пример #24
0
        private static bool IsTestDbSQLite()
        {
            var dbSettings = DbSetting.FindOrCreate(BackUpDbSettingName);

            return(dbSettings.ProviderName == DbSetting.Provider_SQLite);
        }
Пример #25
0
 public OracleMetaReader(DbSetting dbSetting)
     : base(dbSetting)
 {
 }
Пример #26
0
 internal static Property[] GetProperties <T>() => DbSetting.GetEntity <T>().Properties;
Пример #27
0
        /// <summary>
        /// 根据数据库配置获取一个连接管理器
        /// </summary>
        /// <param name="dbSetting"></param>
        /// <returns></returns>
        public static ConnectionManager GetManager(DbSetting dbSetting)
        {
            var ctxName = GetContextName(dbSetting);

            lock (_lock)
            {
                var items = AppContext.Items;

                object value = null;
                items.TryGetValue(ctxName, out value);
                var mgr = value as ConnectionManager;
                if (mgr == null)
                {
                    mgr = new ConnectionManager(dbSetting);
                    items.Add(ctxName, mgr);
                }

                mgr.AddRef();
                return mgr;
            }
        }
Пример #28
0
        internal static void FormattingXml(Model model, DatabaseModel databaseModel)
        {
            var entityTypes = model.GetEntityTypes();
            var newConfig   = new DbSetting
            {
                Namespaces = DbSetting.Namespaces?.OrderBy(o => o.Value).ToArray(),
                Classes    = Array.Empty <Class>(),
            };

            var list = new List <Class>();

            foreach (var table in databaseModel.Tables.OrderBy(o => o.Name))
            {
                // TODO: may has issue.
                var entityType   = entityTypes.FirstOrDefault(o => table.Name.Replace("_", string.Empty).Equals(o.Name, StringComparison.InvariantCultureIgnoreCase));
                var configEntity = DbSetting.Classes?.FirstOrDefault(o => o.Name == entityType.Name);
                var entity       = new Class
                {
                    Name       = entityType.Name,
                    Table      = table.GetType() == typeof(DatabaseView) ? null : table.Name,
                    View       = table.GetType() == typeof(DatabaseView) ? table.Name : null,
                    Summary    = string.IsNullOrEmpty(table.Comment) ? configEntity?.Summary : table.Comment,
                    PrimaryKey = table.PrimaryKey == null ? null : string.Join(",", table.PrimaryKey.Columns.Select(o => o.Name)),
                };

                if (entity.Name == entity.TableName)
                {
                    entity.Table = null;
                }
                var properties = entityType.GetProperties();

                var propertyList = new List <CodeGenerator.Property>();
                foreach (var column in table.Columns)
                {
                    var    property       = properties.FirstOrDefault(o => o.Name.Equals(column.Name.Replace("_", string.Empty), StringComparison.InvariantCultureIgnoreCase));
                    var    configProperty = configEntity?.Properties.FirstOrDefault(o => o.Name == property.Name);
                    string fk             = string.Empty;

                    // 数据库配置
                    if (column.Table.ForeignKeys.SelectMany(o => o.Columns).Contains(column))
                    {
                        foreach (var item in table.ForeignKeys)
                        {
                            if (item.Columns.Contains(column))
                            {
                                fk = $"{item.PrincipalTable.Name}.{item.PrincipalColumns[0].Name}";
                            }
                        }
                    }

                    if (string.IsNullOrEmpty(fk))
                    {
                        fk = configProperty?.FK;
                    }

                    var p = new CodeGenerator.Property
                    {
                        Name            = property.Name,
                        DefaultValueSql = column.DefaultValueSql,
                        Column          = column.Name,
                        ValueGenerated  = column.ValueGenerated?.ToString(),
                        Summary         = string.IsNullOrEmpty(column.Comment) ? configProperty?.Summary : column.Comment,
                        Type            = configProperty?.Type,
                        Converter       = configProperty?.Converter,
                        FK = fk,
                    };

                    if (p.Name == p.ColumnName)
                    {
                        p.Column = null;
                    }

                    propertyList.Add(p);
                }

                list.Add(entity);
                entity.Properties = propertyList.ToArray();
            }

            newConfig.Classes = list.ToArray();
            string xmlSerialized = Serialize(newConfig);

            File.WriteAllText(DbSettingFile, xmlSerialized, Encoding.UTF8);
        }
Пример #29
0
 public void MT_Transaction_GetCurrentTransactionBlock2()
 {
     using (var tranOuter = RF.TransactionScope(DbSettingNames.RafyPlugins))
     {
         using (var tranInner1 = RF.TransactionScope(DbSettingNames.RafyPlugins))
         {
             using (var tranInner2 = RF.TransactionScope(DbSettingNames.RafyPlugins))
             {
                 var currentScope = LocalTransactionBlock.GetCurrentTransactionBlock(DbSetting.FindOrCreate(DbSettingNames.RafyPlugins));
                 Assert.AreEqual(currentScope, tranInner2);
             }
         }
     }
 }
Пример #30
0
 public SqlServerMetaReader(DbSetting dbSetting)
     : base(dbSetting)
 {
 }
Пример #31
0
 internal ClassMetaReader(DbSetting dbSetting)
 {
     this._dbSetting          = dbSetting;
     this.IgnoreTables        = new List <string>();
     this.EntityDbSettingName = this._dbSetting.Name;
 }
Пример #32
0
 private ConnectionManager(DbSetting dbSetting)
 {
     _dbSetting  = dbSetting;
     _connection = dbSetting.CreateConnection();
     _connection.Open();
 }
 /// <summary>
 /// 构造一个事务块
 /// </summary>
 /// <param name="dbSetting">整个数据库的配置名</param>
 public SingleConnectionTrasactionScope(DbSetting dbSetting)
     : base(dbSetting, IsolationLevel.Unspecified)
 {
 }
Пример #34
0
 /// <summary>
 /// 通过数据库配置名的代理:实体仓库,构造一个 单连接事务块。
 /// </summary>
 /// <param name="dbSetting"></param>
 /// <returns></returns>
 public static SingleConnectionTransactionScope TransactionScope(DbSetting dbSetting)
 {
     return(new SingleConnectionTransactionScope(dbSetting));
 }
 public EfDataProviderManager(DbSetting settings)
     : base(settings)
 {
 }
Пример #36
0
 public LongTimeDbAccesser(DbSetting setting)
     : base(setting)
 {
 }
Пример #37
0
 private static string GetContextName(DbSetting dbSetting)
 {
     return("__db:" + dbSetting.Name);
 }
Пример #38
0
 /// <summary>
 /// 构造函数 初始化配置
 /// </summary>
 /// <param name="dbSetting">数据库配置信息</param>
 public MySqlMetaReader(DbSetting dbSetting) : base(dbSetting)
 {
 }
Пример #39
0
 public OracleMetaReader(DbSetting dbSetting) : base(dbSetting)
 {
 }
Пример #40
0
 public SqlServerMetaReader(DbSetting dbSetting) : base(dbSetting)
 {
 }
Пример #41
0
 /// <summary>
 /// 构造函数 初始化配置
 /// </summary>
 /// <param name="dbSetting">数据库配置信息</param>
 public SQLiteMetaReader(DbSetting dbSetting) : base(dbSetting)
 {
 }
Пример #42
0
        /// <summary>
        /// 根据配置文件,构造一个数据库访问器。
        /// </summary>
        /// <param name="dbSettingName">数据库配置的名称。</param>
        /// <returns></returns>
        public static IDbAccesser Create(string dbSettingName)
        {
            var setting = DbSetting.FindOrCreate(dbSettingName);

            return(Create(setting));
        }
Пример #43
0
 public ClassMetaReader(DbSetting dbSetting)
 {
     this._dbSetting   = dbSetting;
     this.IgnoreTables = new List <string>();
 }
Пример #44
0
 /// <summary>
 /// 根据配置文件,构造一个数据库访问器。
 /// </summary>
 /// <param name="dbSetting">数据库配置。</param>
 /// <returns></returns>
 public static IDbAccesser Create(DbSetting dbSetting)
 {
     return(new ManagedConnectionDbAccesser(dbSetting));
 }
Пример #45
0
 /// <summary>
 /// 通过数据库配置名构造一个 单连接事务块。
 /// </summary>
 /// <param name="dbSetting"></param>
 /// <returns></returns>
 public static SingleConnectionTransactionScope TransactionScope(string dbSetting)
 {
     return(new SingleConnectionTransactionScope(DbSetting.FindOrCreate(dbSetting)));
 }
Пример #46
0
 /// <summary>
 /// 根据配置文件,构造一个数据库访问器。
 /// </summary>
 /// <param name="dbSetting">数据库配置。</param>
 /// <returns></returns>
 public static IDbAccesser Create(DbSetting dbSetting)
 {
     return new ManagedConnectionDbAccesser(dbSetting);
 }
Пример #47
0
 /// <summary>
 /// 通过数据库配置名的代理:实体仓库,构造一个 单连接事务块。
 /// </summary>
 /// <param name="dbSetting">整个数据库的配置名</param>
 /// <param name="level">事务的孤立级别</param>
 /// <returns></returns>
 public static SingleConnectionTransactionScope TransactionScope(DbSetting dbSetting, IsolationLevel level)
 {
     return(new SingleConnectionTransactionScope(dbSetting, level));
 }
Пример #48
0
 public RafyDbMigrationContext(string dbSetting) : this(DbSetting.FindOrCreate(dbSetting))
 {
 }