实体框架:当数据库发生变化时,如何刷新模型?

entity-framework

如果从数据库构建edmx文件然后db更改,那么如何让模型获取更改?

您是删除整个模型并重新生成还是可以检测到更改?

我看到一篇文章提到“更新你的模型”rt。 edmx文件上的鼠标命令,但我没看到它。

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

我刚开始。

一般承认的答案

你在看设计师或代码视图吗?您可以通过右键单击EDMX文件并选择Open With -> ADO.NET Entity Data Model Designer来强制打开Open With -> ADO.NET Entity Data Model Designer

右键单击EDMX设计器的设计器表面,然后单击Update Model From Database...

默认情况下刷新所有实体,只有在选择新实体时才会添加新实体。


编辑:如果它不爽快。

  • 在EDMX设计器中选择所有表和视图。
  • 删除它们。
  • 然后,从数据库更新模型

热门答案

我发现设计师“从数据库更新”只能处理小的变化。如果你删除了表,更改了外键或(gasp)用函数映射更改了存储过程的签名,你最终会遇到这样一个混乱状态,你必须删除所有实体并“从数据库中添加”或者只是删除edmx资源并重新开始。




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