1

我正在将我的项目从数据库优先迁移到代码优先。

Entity Framework 做了一些很好的工作来创建我的新数据库(应该模仿旧的)。
我结合使用数据注释和流畅的 API 来描述我的表格。

我的数据库有一些索引,我也希望 Entity Framework 来创建它们。执行此操作的旧方法似乎是定义您自己的初始化程序并使用自定义 T-SQL。

但是现在我们有了 EF 迁移,这样做应该会更容易。
我似乎无法弄清楚如何将 CreateDatabaseIfNotExists<> 与自动迁移相结合来创建索引。我尝试使用 MigrateDatabaseToLatestVersion<,> 但在创建数据库后似乎没有执行迁移。

既然我们拥有 Entity Framework 4.3,那么在创建数据库时创建索引和约束的正确方法是什么?

4

1 回答 1

5

CreateDatabaseIfNotExists如果您想使用迁移,请不要使用。从一开始就使用MigrateDatabaseToLatestVersion- 它也会创建您的数据库。将您的索引创建代码(调用CreateIndex)放入迁移类的 Up 方法中。

如果您已经拥有现有数据库并且想要使用迁移,则必须首先创建初始迁移

于 2012-04-21T18:28:41.387 回答