NLite.Data.DbConfiguration.DbConfiguration C# (CSharp) Method

DbConfiguration() static private method

static private DbConfiguration ( ) : System
return System
        static DbConfiguration()
        {
            ManualResetEvent mre = new ManualResetEvent(false);
            ThreadPool.QueueUserWorkItem(s =>
            {
                var dlinqAsm = AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(p => p.GetName().Name == "System.Data.Linq");
                if (dlinqAsm != null)
                    DLinq.Init(dlinqAsm);
                var dataAnnotiationAsm = AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(p => p.GetName().Name == DataAnnotationMappingAdapter.StrAssemblyName);
                if (dataAnnotiationAsm != null)
                    DataAnnotationMappingAdapter.Init(dataAnnotiationAsm);
                var efDataAnnotiationAsm = AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(p => p.GetName().Name == EFDataAnnotiationAdapter.StrAssemblyName);
                if (efDataAnnotiationAsm != null)
                    EFDataAnnotiationAdapter.Init(efDataAnnotiationAsm);
                //初始化PrimitiveMapper
                Converter.IsPrimitiveType(Types.Boolean);
                //初始化Expressor
                var len = MethodRepository.Len;
                var mappings = NLite.Data.Common.MethodMapping.Mappings;

                mre.Set();
            }
               );

            Options = new Dictionary<string, DbConfigurationInfo>(StringComparer.Ordinal);
            items = new Dictionary<string, DbConfiguration>(StringComparer.Ordinal);

            Options["System.Data.OleDb"] = new DbConfigurationInfo
            {
                Driver = new AccessDriver(),
                Dialect = new AccessDialect(),
                FuncRegistry = new NLite.Data.Dialect.Function.Access.AccessFunctionRegistry(),
                DbExpressionBuilder = new AssessDbExpressionBuilder(),
                SqlBuilder = (dialect, funcRegistry) => new AccessSqlBuilder { Dialect = dialect, FuncRegistry = funcRegistry },

                ScriptGenerator = () => new AccessScriptGenerator(),
                ScriptExecutor = () => new AccessScriptExecutor(),
                SchemaLoader = () => new OledbSchemaLoader(),

            };

            Options["MySql.Data.MySqlClient"] = new DbConfigurationInfo
            {
                Driver = new MySqlDriver(),
                Dialect = new MySqlDialect(),
                FuncRegistry = new NLite.Data.Dialect.Function.MySQL.MySqlFunctionRegistry(),
                DbExpressionBuilder = new MySqlExpressionBuilder(),
                SqlBuilder = (dialect, funcRegistry) => new MySqlBuilder { Dialect = dialect, FuncRegistry = funcRegistry },

                ScriptGenerator = () => new MySQLScriptGenerator(),
                ScriptExecutor = () => new MySQLScriptExecutor(),
                SchemaLoader = () => new MySqlSchemaLoader(),

            };

            Options["Oracle.DataAccess.Client"] = new DbConfigurationInfo
            {
                Driver = new OracleODPDriver(),
                Dialect = new OracleDialect(),
                FuncRegistry = new NLite.Data.Dialect.Function.Oracle.OracleFunctionRegistry(),
                DbExpressionBuilder = new OracleExpressionBuilder(),
                SqlBuilder = (dialect, funcRegistry) => new OracleSqlBuilder { Dialect = dialect, FuncRegistry = funcRegistry },

                ScriptGenerator = () => new OracleScriptGenerator(),
                ScriptExecutor = () => new OracleScriptExecutor(),
                SchemaLoader = () => new OracleSchemaLoader(),
            };

            Options["System.Data.OracleClient"] = new DbConfigurationInfo
            {
                Driver = new OracleClientDriver(),
                Dialect = new OracleDialect(),
                FuncRegistry = new NLite.Data.Dialect.Function.Oracle.OracleFunctionRegistry(),
                DbExpressionBuilder = new OracleExpressionBuilder(),
                SqlBuilder = (dialect, funcRegistry) => new OracleSqlBuilder { Dialect = dialect, FuncRegistry = funcRegistry },

                ScriptGenerator = () => new OracleScriptGenerator(),
                ScriptExecutor = () => new OracleScriptExecutor(),
                SchemaLoader = () => new OracleSchemaLoader(),
            };

            Options["System.Data.SqlClient"] = new DbConfigurationInfo
            {
                Driver = new SqlServer2005Driver(),
                Dialect = new MsSql2005Dialect(),
                FuncRegistry = new NLite.Data.Dialect.Function.MsSql.MsSql2005FunctionRegistry(),
                DbExpressionBuilder = new MsSql2005ExpressionBuilder(),
                SqlBuilder = (dialect, funcRegistry) => new SqlServer2005SqlBuilder { Dialect = dialect, FuncRegistry = funcRegistry },

                ScriptGenerator = () => new SqlServerScriptGenerator(),
                ScriptExecutor = () => new SqlServerScriptExecutor(),
                SchemaLoader = () => new SqlServerSchemaLoader(),
            };

            Options["System.Data.SQLite"] = new DbConfigurationInfo
            {
                Driver = new SQLiteDriver(),
                Dialect = new SQLiteDialect(),
                FuncRegistry = new NLite.Data.Dialect.Function.SQLite.SQLiteFunctionManager(),
                DbExpressionBuilder = new SQLiteExpressionBuilder(),
                SqlBuilder = (dialect, funcRegistry) => new SQLiteSqlBuilder { Dialect = dialect, FuncRegistry = funcRegistry },

                ScriptGenerator = () => new SQLiteScriptGenerator(),
                ScriptExecutor = () => new SQLiteScriptExecutor(),
                SchemaLoader = () => new SQLiteSchemaLoader(),

            };

            Options["System.Data.SqlServerCe.3.5"] = new DbConfigurationInfo
            {
                Driver = new SqlCeDriver(),
                Dialect = new SqlCe35Dialect(),
                FuncRegistry = new NLite.Data.Dialect.Function.SqlCe.SqlCeFunctionRegistry(),
                DbExpressionBuilder = new SqlCe35ExpressionBuilder(),
                SqlBuilder = (dialect, funcRegistry) => new SqlCeBuilder { Dialect = dialect, FuncRegistry = funcRegistry },

                ScriptGenerator = () => new SqlCeScriptGenerator(),
                ScriptExecutor = () => new SqlCeScriptExecutor(),
                SchemaLoader = () => new SqlCeSchemaLoader(),

            };

            Options["System.Data.SqlServerCe.4.0"] = new DbConfigurationInfo
            {
                Driver = new SqlCeDriver(),
                Dialect = new SqlCe35Dialect(),
                FuncRegistry = new NLite.Data.Dialect.Function.SqlCe.SqlCeFunctionRegistry(),
                DbExpressionBuilder = new SqlCe35ExpressionBuilder(),
                SqlBuilder = (dialect, funcRegistry) => new SqlCeBuilder { Dialect = dialect, FuncRegistry = funcRegistry },

                ScriptGenerator = () => new SqlCeScriptGenerator(),
                ScriptExecutor = () => new SqlCeScriptExecutor(),
                SchemaLoader = () => new SqlCeSchemaLoader(),

            };

            providerNames = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
            foreach (var item in DbProviderFactories.GetFactoryClasses().Rows.Cast<DataRow>().Select(p => p["InvariantName"] as string))
                providerNames.Add(item);

            mre.WaitOne();
            mre.Close();
        }

Same methods

DbConfiguration::DbConfiguration ( string providerName, string name, string connectionString, DbProviderFactory dbProviderFactory ) : System