我已经构建了一个模型,我创建了一个控制器(并且代理了许多视图,用于查看,创建,删除和编辑在我第一次通过Web浏览器中的控制器浏览视图时创建的表中的记录)在Visual Studio中使用向导。
这按预期工作,但随后我对我的模型进行了更改,并尝试以下步骤将更改提交到数据库:
执行上述操作后,我点击调试,浏览到我的控制器,期望实体框架重新创建我的表。相反,我得到了这个错误:
无效的对象名称'dbo.FooBar'。 // FooBar是我的模型的名称,因此我的表
几个问题:
由于
答案 0 :(得分:1)
您要使用的两个包将是:
自动迁移(EFMigrations)
http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx
此功能扩展了您的项目,不仅能够首先使用代码,还能将对模型所做的更改迁移到数据库。我从生产中使用它,因为它已经过了测试版。
MVC脚手架
您可以下载现有的脚手架模板,以根据您的模型创建视图。如果您的模型发生更改,则会自动更新这些视图。从来没有建立我自己的模板,但是来自Scott Hanselman的博客文章显示了如何做到这一点:http://www.hanselman.com/blog/ModifyingTheDefaultCodeGenerationscaffoldingTemplatesInASPNETMVC.aspx
在Channel9上查看史蒂夫桑德森(脚手架)和斯科特汉塞尔曼(EF移民)的谈话。