更新edmx以反映数据库中所做的更改(.net linq-to-entities)

.net-3.5 entity-framework linq linq-to-entities

  • 所以我制作了我的edmx。
  • 然后我稍微更改了我的数据库,将列更改为从NOT NULL到允许NULL。
  • 我进入我的edmx,右键单击并选择“从数据库更新模型”

现在我进入我的程序并且它实际上没有更新...我不能在列中放置null。如何正确更新edmx?谢谢。

一般承认的答案

从数据库中选择更新模型是更新EDMX的最佳方法。某些属性未在Conceptual图层上更新。

通过在“模型查看器”工具箱中查看,确保已更新“商店”图层。如果商店已正确更新,那么您没问题,您的数据库也是同步的。如果是这样,请进入可视化设计器,单击该字段,转到属性,然后在Conceptual端更新NotNull属性。


热门答案

从EDMX更新/删除并不总是有效。如果在单击“从数据库更新模型”时未更新模型,请说明在更新数据库中的视图/表时,请执行以下操作:

1)从模型图中删除视图/表
2)将EDMX切换到xml视图(右键单击edmx文件并选择“打开方式”)
3)搜索并删除xml实体元素
4)切换回EDMX视图
5)单击“从数据库更新模型”

这应该反映您对DB到EDMX所做的任何更改。这很麻烦,但完美无瑕。

在理想的世界中,我希望数据库中的更新模型能够同步从DB到EDMX的更改。但是,它在大多数情况下都不起作用。




许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因