我正在将我的项目从数据库优先迁移到代码优先。
实体框架做了一些很好的工作来创建我的新数据库(应该模仿旧的数据库) 我正在使用数据注释和流畅的API组合来描述我的表格。
我的数据库有一些索引,我也希望Entity Framework能够创建它们。似乎旧方法是定义您自己的初始化程序并使用自定义T-SQL。
但是现在我们有了EF迁移,它应该更容易实现 我似乎无法弄清楚如何组合CreateDatabaseIfNotExists<>使用自动迁移来创建索引。我试过使用MigrateDatabaseToLatestVersion<,>但是在创建数据库之后似乎没有执行迁移。
现在有了Entity Framework 4.3,在数据库创建时创建索引和约束的正确方法是什么?
答案 0 :(得分:5)
如果要使用迁移,请不要使用CreateDatabaseIfNotExists
。从头开始使用MigrateDatabaseToLatestVersion
- 它也会创建您的数据库。将索引创建代码(对CreateIndex
的调用)放入迁移类的Up方法中。
如果您已有现有数据库且想要使用迁移,则必须先create initial migration。