2017-05-15 15 views
0

我的项目正在针对现有的数据库使用默认的dbo模式,并且为我正在构建的新模块创建了单独的模式。我首先创建了一个代码,并使用新代码第一个域模型中的现有数据库生成了一些对象。我创建了一个空的第一个迁移并更新了数据库。现在我使用下面的行为我的新模式创建了一张新表:我应该为每个SQL模式使用不同的迁移表吗?

modelBuilder.Entity<newTblClass>().ToTable("newTblClass", "newSchema"); 

然后我创建了一个新的迁移并更新了数据库。 在我的数据库中,我注意到我的迁移是在表dbo .__ MigrationHistory上创建的。 这是正确的路要走吗?还是应该为每个模式使用单独的迁移表?如果是的话如何?

+0

EF在该表上存储注册历史记录。把所有的迁移记录在一个表中是好事。保持原样。 –

+0

如果您希望为每个模式单独迁移,则需要为每个模式创建一个上下文。如果你想将__MigrationHistory移动到不同的模式,有一个[技巧](http://stackoverflow.com/questions/28355352/ef-6-code-first-migrationhistory-in-dbo-schema-by-default)也是如此。 –

回答

0

实际上有两种迁移方式。第一种方法是为每个模式更改添加新的。第二种方法是自动创建迁移。

如果你想返回每改变你可以使用第一种方式。

当改变你的模式时,你应该这样做。 enter image description here

显示提醒 我们写启用的迁移 enter image description here

,要添加FirtsMigration等迁移,该NugetPackage控制台 我们正在编写插件迁移FirstMigration

enter image description here

这样,我们的迁移文件夹和Configiration类将自动创建。

相关问题