【问题标题】:ASP MVC 5 EF6 Migrations & SeedASP MVC 5 EF6 迁移和种子
【发布时间】:2016-11-11 22:23:07
【问题描述】:

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

  • 如果我们在开发但尚未投入生产时启用迁移,我们最终会得到大量迁移文件,因为建议进行小型迁移。这是一种正确的方法还是我们应该在应用进入任何客户端之前启用 DropCreateIfModelChanges 进行开发?

  • 此外,我们需要使用所有使用该应用程序的客户都需要的通用数据为数据库播种,例如国家、州、一些超级用户...... 我们必须在哪里播种这些数据,以便它始终存在于我们安装网络应用的每个客户端中?

我见过几种不同的方法: - Migrations Configuration 的 Seed 函数中的种子数据,使用 AddOrUpdate 命令,但我在某些地方看到这是一种不好的方法。 - 使用 Sql("INSERT INTO....");

提前致谢。

【问题讨论】:

    标签: asp.net-mvc entity-framework entity-framework-migrations


    【解决方案1】:

    我通常只使用初始化程序开始开发。有一个 seed method specifically for initializers 仅在创建数据库时运行,非常适合 security 和查找表。 (迁移初始化程序与每个更新数据库一起运行)。

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

    您还应该注意issues working with migrations in a team environment

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-10
      • 1970-01-01
      • 2015-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多