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); } }
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()); }
public override ModelBuilder GetModelBuilder() => new ModelBuilder(OracleConventionSetBuilder.Build());