【发布时间】:2012-10-30 17:08:35
【问题描述】:
我想知道模型优先的方法。我希望使用 VS2012 中的模型设计器来设计一个新的数据库。模型设计器的新功能,例如着色和拆分模型部分非常棒。希望除了最初创建一个新数据库之外,使用模型设计器还有其他目的。
我想执行以下步骤...
使用模型设计器,可视化设计并推送模型,创建初始数据库和表格
向表中添加数据
在模型设计器中更改表格(例如添加字段)
将更改推送到数据库(即更新数据库)
不要从第 2 步中丢失我的数据。另外,为了消除任何混淆...我是否提到我不想丢失数据?
拜托,请告诉我这个明显的需求(即需要从头开始在不丢失数据的情况下改进表及其字段)在 EF 的第五次迭代中没有被忽视。
EF 上的这个页面 (http://msdn.microsoft.com/en-us/data/ee712907.aspx) 表明开发人员在先编码和先建模之间有平等的选择。对我来说,页面上的介绍视频会产生类似的印象。
如果有一个简单的菜单选项,或者更好的只是一种在模型更改时建立“自动推送到数据库”的方法,那就太好了。这样,每当进行更改并单击 SAVE 按钮时,就会出现一个对话框“更新数据库?”。
我看到使用代码优先有一个迁移选项。对于模型优先,我似乎找不到相同的东西。而且我不明白为什么这是不可能的......毕竟我会以代码优先编写的所有代码确实存在 - 它是由模型优先代码生成创建的。
我一直在祈祷,希望有人能找到一个简单的解决方案,也许我刚刚忽略了一些事情,所有这些漫无边际/发泄都是徒劳的。 :-)
【问题讨论】:
-
您可能想收听 Julie Lerman 的 dotNetRocks 播客:dotnetrocks.com/default.aspx?showNum=816 最后他们谈到了更新数据库。
-
您可能还想阅读 MSDN 上的“自动代码优先迁移”:msdn.microsoft.com/en-us/data/jj591583