我有一个使用EF 4.1的应用程序(使用模型优先的风格),我想在更新模型并删除并重新创建数据库时初始化数据库。
我花了好几个小时试图在此找到合适的文档,我认为Database.SetInitializer是可行的方法,但事实证明这需要一个DbContext,并且生成的代码使用ObjectContext。
我相信我可以在幕后操作来切换T4模板以使用DbContext,但是肯定必须有一种方法来处理开箱即用的模型 - 首先生成的代码吗?
[我应该完全抛弃模型优先吗?]
答案 0 :(得分:3)
模型第一种方法没有任何自动生成数据库。
首次使用模型时,只需右键单击设计器窗格,然后选择从模型生成数据库。它将创建数据库脚本,您可以执行该脚本来创建数据库。还有一个名为Database Generation Power Pack的VS2010附加插件允许一些更高级的场景,比如在现有数据库和你的模型之间生成更改脚本,但这个工具至少需要VS2010 Premium。