public void SetDbConfiguration(string sqlStrategyTypeName)
 {
     if (!string.IsNullOrWhiteSpace(sqlStrategyTypeName))
     {
         var dbConfig = new SqlDbConfiguration(sqlStrategyTypeName);
         DbConfiguration.SetConfiguration(dbConfig);
     }
 }
예제 #2
0
        protected override void OnStartup(StartupEventArgs e)
        {
            Dispatcher.UnhandledException += OnDispatcherUnhandledException;
            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
            base.OnStartup(e);
            SqlDbConfiguration.Register();
            var bootstrapper = new Bootstrapper();

            bootstrapper.Run();
        }
예제 #3
0
        /// <summary>
        /// 从配置文件中读取连接字符串并创建 SQL Server 数据库访问器
        /// </summary>
        /// <param name="name">连接字符串配置名称</param>
        /// <param name="configuration">SQL Server 数据库配置</param>
        /// <returns>SQL Server 数据库访问器</returns>
        public static SqlDbExecutor FromConfiguration(string name, SqlDbConfiguration configuration = null)
        {
            var setting = ConfigurationManager.ConnectionStrings[name];

            if (setting == null)
            {
                throw new InvalidOperationException();
            }

            return(Connect(setting.ConnectionString, configuration));
        }
        public IDbConfiguration GetConfiguration()
        {
            var dbConfiguration = new SqlDbConfiguration
            {
                Database = configuration.GetValue <string>("ConnectionStrings:Sql:Database"),
                Server   = configuration.GetValue <string>("ConnectionStrings:Sql:Server"),
                IsMultipleActiveResultSets = configuration.GetValue <bool>("ConnectionStrings:Sql:MultipleActiveResultSets"),
                IsTrastedConnection        = configuration.GetValue <bool>("ConnectionStrings:Sql:Trusted_Connection"),
            };

            return(dbConfiguration);
        }
예제 #5
0
        /// <summary>
        /// 通过连接 SQL Server Express 指定实例,创建 SQL Server 数据库访问器
        /// </summary>
        /// <param name="database">数据库名称或者数据库文件路径</param>
        /// <param name="datasource">SQL Server 实例名称</param>
        /// <param name="configuration">SQL Server 配置</param>
        /// <returns>SQL Server 数据库访问器</returns>
        private static SqlDbExecutor Connect(string database, string datasource, SqlDbConfiguration configuration = null)
        {
            var builder = new SqlConnectionStringBuilder()
            {
                DataSource         = datasource,
                IntegratedSecurity = true,
            };


            if (database.IndexOfAny(Path.GetInvalidPathChars()) == -1 && Path.IsPathRooted(database))
            {
                builder.AttachDBFilename = database;
            }

            else
            {
                builder.InitialCatalog = database;
            }


            return(SqlServer.Connect(builder.ConnectionString, configuration));
        }
예제 #6
0
        /// <summary>
        /// 通过集成身份验证登陆 SQL Server 数据库,以创建 SQL Server 数据库访问器
        /// </summary>
        /// <param name="dataSource">数据库服务器实例名称</param>
        /// <param name="initialCatalog">数据库名称</param>
        /// <param name="pooling">是否启用连接池(默认启用)</param>
        /// <param name="configuration">SQL Server 数据库配置</param>
        /// <returns>SQL Server 数据库访问器</returns>
        public static SqlDbExecutor Connect(string dataSource, string initialCatalog, bool pooling = true, SqlDbConfiguration configuration = null)
        {
            var builder = new SqlConnectionStringBuilder()
            {
                DataSource         = dataSource,
                InitialCatalog     = initialCatalog,
                IntegratedSecurity = true,
                Pooling            = pooling
            };

            return(Connect(builder.ConnectionString, configuration));
        }
예제 #7
0
 /// <summary>
 /// 通过指定的连接字符串构建器创建 SQL Server 数据库访问器
 /// </summary>
 /// <param name="builder">连接字符串构建器</param>
 /// <param name="configuration">SQL Server 数据库配置</param>
 /// <returns>SQL Server 数据库访问器</returns>
 public static SqlDbExecutor Connect(SqlConnectionStringBuilder builder, SqlDbConfiguration configuration = null)
 {
     return(Connect(builder.ConnectionString, configuration));
 }
예제 #8
0
 /// <summary>
 /// 通过指定的连接字符串并创建 SQL Server 数据库访问器
 /// </summary>
 /// <param name="connectionString">连接字符串</param>
 /// <param name="configuration">SQL Server 数据库配置</param>
 /// <returns>SQL Server 数据库访问器</returns>
 public static SqlDbExecutor Connect(string connectionString, SqlDbConfiguration configuration = null)
 {
     return(new SqlDbExecutor(connectionString, configuration ?? Configuration));
 }
예제 #9
0
 /// <summary>
 /// 通过连接 SQL Server Express 默认实例,创建 SQL Server 数据库访问器
 /// </summary>
 /// <param name="database">数据库名称或者数据库文件路径</param>
 /// <param name="configuration">SQL Server 配置</param>
 /// <returns>SQL Server 数据库访问器</returns>
 public static SqlDbExecutor Connect(string database, SqlDbConfiguration configuration = null)
 {
     return(Connect(database, @"(local)\" + configuration.ExpressInstanceName, configuration));
 }
예제 #10
0
 /// <summary>
 /// 通过连接 SQL Server Express LocalDB 实例,创建 SQL Server 数据库访问器
 /// </summary>
 /// <param name="database">数据库名称或者数据库文件路径</param>
 /// <param name="configuration">SQL Server 配置</param>
 /// <returns>SQL Server 数据库访问器</returns>
 public static SqlDbExecutor ConnectLocalDB(string database, SqlDbConfiguration configuration = null)
 {
     return(Connect(database, @"(LocalDB)\" + configuration.LocalDBInstanceName, configuration));
 }