如何更新我的实体框架

ant*_*liu 3 c# asp.net entity-framework asp.net-mvc-3

我只需右键单击并单击"从数据库更新模型"即可更新我的实体框架.我通常在"添加"选项卡下,然后单击表格并单击完成.我有时也会使用"刷新".这些有什么区别?而且当我刷新或添加有时实体出错或将一些旧信息保存在缓存中时,我怎样才能让实体匹配我的数据库并清除任何旧的缓存事物.

Yak*_*ych 5

是的,你是对的.设计师有点马车,并没有特别好地处理某些架构变化.通常,当我向数据库添加表时,我运行Update model from database并在Add选项卡中选择表.工作良好.如果我添加一个字段到现有的表,我做的Update modelRefresh.也很好用.

但是,如果我添加一个字段并删除另一个字段,或重命名现有字段(据我记得),EF无法正确处理(添加了一个新字段但未能删除旧字段,并且由于旧字段仍未映射,模型验证失败).因此,在那些更复杂的情况下,我通常删除该实体,然后做Update model from databaseAdd它再次.

缺点是,如果您确实进行了一些更改(例如,重命名了某些字段或实体的导航属性),则必须再次进行这些更改.