コード例 #1
0
ファイル: DbModelFactory.cs プロジェクト: sidecore/Core.Admin
        private static DbCompiledModelInfo BuildDbCompiledModelInfo(string nameOrConStr, DatabaseType dbType)
        {
            lock (_buildCompiledModelLock)
            {
                ConventionSet conventionSet = null;
                switch (dbType)
                {
                case DatabaseType.SqlServer: conventionSet = SqlServerConventionSetBuilder.Build(); break;

                case DatabaseType.MySql: conventionSet = MySqlConventionSetBuilder.Build(); break;

                case DatabaseType.PostgreSql: conventionSet = NpgsqlConventionSetBuilder.Build(); break;

                case DatabaseType.Oracle: conventionSet = OracleConventionSetBuilder.Build(); break;

                default: throw new Exception("暂不支持该数据库!");
                }
                ModelBuilder modelBuilder = new ModelBuilder(conventionSet);
                _modelTypeMap.Values.ForEach(x =>
                {
                    modelBuilder.Model.AddEntityType(x);
                });

                DbCompiledModelInfo newInfo = new DbCompiledModelInfo
                {
                    ConStr       = nameOrConStr,
                    DatabaseType = dbType,
                    Model        = modelBuilder.FinalizeModel()
                };
                return(newInfo);
            }
        }
コード例 #2
0
ファイル: DbModelFactory.cs プロジェクト: 908705107/src
        private static IModel BuildDbCompiledModel(DatabaseType dbType)
        {
            ConventionSet conventionSet = null;

            switch (dbType)
            {
            case DatabaseType.SqlServer: conventionSet = SqlServerConventionSetBuilder.Build(); break;

            case DatabaseType.MySql: conventionSet = MySqlConventionSetBuilder.Build(); break;

            case DatabaseType.PostgreSql: conventionSet = NpgsqlConventionSetBuilder.Build(); break;

            case DatabaseType.Oracle: conventionSet = OracleConventionSetBuilder.Build(); break;

            default: throw new Exception("暂不支持该数据库!");
            }
            ModelBuilder modelBuilder = new ModelBuilder(conventionSet);

            _entityTypeMap.Values.ForEach(x =>
            {
                modelBuilder.Model.AddEntityType(x);
            });

            return(modelBuilder.FinalizeModel());
        }
コード例 #3
0
 public override ModelBuilder GetModelBuilder() => new ModelBuilder(OracleConventionSetBuilder.Build());