【发布时间】:2012-11-19 19:39:02
【问题描述】:
如果我对我的 EF 5.0 模型进行任何更改,VS 似乎看不到这些更改。我尝试添加一个新表,该表在模型中显示良好,但如果我尝试在某处使用它,则该表不会显示在智能感知中,我无法使用它。
我还尝试更改列的数据类型,如果我查看 .edmx 模型文件,这再次显示良好,但由于我试图分配不正确的数据类型,Visual Studio 仍然会在该字段上给我编译器错误。
如果我完全删除 EDMX,然后重新创建它,那么更改就可以正常工作。但是每次我应该能够“从数据库更新模型”并重建时,从数据库重新生成是很烦人的。
我以前从未遇到过 EF 的这些问题。有谁知道这个问题的原因或解决方法?
谢谢。
【问题讨论】:
-
您的 edmx 的代码生成策略是什么? (打开 edmx,按 F4)
-
@Heather 设置为“无”。我尝试将其更改为“默认”,认为这一定是问题所在,现在我有几十个错误说类型 [table] 已经包含我拥有的每个表/列的 [column] 定义。有什么想法吗?
-
是的,您已经解决了问题的前半部分。 “无”根本不会生成代码。现在您正在生成代码,您需要解决数据库和 edmx 之间的逻辑不一致问题。一般来说,有两种方法可以做到这一点:第一种是从 edmx 中删除每个实体,然后从数据库运行更新。
-
@Heather 我似乎无法找到我收到错误的原因。据我所知,所有字段只定义一次,在它生成的 .cs 文件中。
-
好像在某个地方有两个完全相同的 .cs 文件,但我只能归档一个,而且我只收到一组错误。
标签: c# entity-framework entity-framework-5