【发布时间】:2015-10-30 12:36:44
【问题描述】:
由于某些原因,我们需要在Entity Framework 中更新Views。
所以我们关注了这个solution on another question,它就像一个魅力!
但是问题出在这里:
如果我们更新我们的模型(对于一些新的字段或表/视图),完整的映射将被破坏,更新后我们会收到警告
错误 11007:实体类型“UpdateView1”未映射。
在此之后,甚至无法加载实体,因为所有映射都丢失了。
那么如何设计视图以便能够使用视图发布更新并能够更新 edmx 文件呢?
【问题讨论】:
-
MS 甚至不喜欢 edmx 文件。他们正在从 EF 中删除它。切换到代码优先。
-
不能用Code First,数据库真的老了,真的很大……
-
“模型”是什么意思?您是否尝试向 db 添加一列,重新加载,然后更新类?
-
由于功能名称,这是一个常见的误解。 Code First 并不意味着您必须从代码开始。您可以从数据库开始,然后编写 POCO 以匹配它(如您的情况)。这样做可以让您保留所有映射等,因为您只需调整代码以匹配数据库中已经存在的结构。
-
@FDL 没错,我们有时可能需要数据库中的新字段。然后,当我们更新模型/edmx 文件时,所有映射都会丢失。
标签: c# sql-server entity-framework