2016-11-11 59 views
0

我们正在开发一个大的ASP MVC Web应用程序EF6 Code First(100+个实体),我们对迁移有一些疑问。ASP MVC 5 EF6迁移和种子

  • 如果我们能够迁移的同时,我们正在开发,但尚未在生产中,我们将用吨的迁移文件就结了,既然是推荐做小的迁移。这是一种正确的方法,还是应该在应用程序位于任何客户端之前启用DropCreateIfModelChanges进行开发?

  • 此外,我们需要使用通用数据为数据库播种所有使用该应用程序的客户端需要的内容,例如国家,州,一些超级用户...... 我们必须在何处播种此数据总是在我们安装网络应用程序的每个客户端?

我已经看到了几种不同的方法: - 迁移中配置的种子功能种子数据,具有AddOrUpdate命令,但我已经在一些地方,这是一个不错的办法看到。 - 使用Sql进行Add-Migration的种子数据(“INSERT INTO ....”);

在此先感谢。

回答

0

我通常使用初始值设定项来开始开发。有一个seed method specifically for initializers只能在创建数据库时运行,这对于security和查找表非常理想。 (迁移初始化器在每个更新数据库中运行)。

当我不想丢失其他数据时,我切换到迁移。正如你所提到的,这些可以累积起来,所以我使用Chris's technique在部署之前将它们卷起来。

你也应该知道issues working with migrations in a team environment