entity-framework - 概念类型的成员数量与对象端类型的成员数量不匹配

标签 entity-framework

我正在使用 .net 框架 3.5 SP1。

在 Sql Server 中的一个表中添加一列(以及将现有列从允许空值更改为不可空值)后,我无法再运行我的项目而不会出现此错误:

The number of members in the conceptual type 'XBRLDimensionalModel.axis_t' does not match with the number of members on the object side type 'EOL.Xbrl.Persistence.Data.axis_t'. Make sure the number of members are the same.



我放弃了寻找和修复生成的代码的尝试。我现在已经删除了所有与本地实体相关的文件,并通过从头开始并添加一个新项目(ADO.NET 实体数据模型)来重新生成它们。我仍然收到此错误。

我现在可以运行该项目的唯一方法是撤消所有待处理的更改并使用源代码管理中的最新版本,当然还可以将两个修改后的数据库列更改为可以为空。

从我到目前为止所读到的所有内容来看,我似乎应该能够从数据库“更新”我的模型。这导致了这个异常(上图)。但是现在我完全感到困惑,即使完全重新生成实体模型和支持类,我仍然会收到该错误。

我将 edmx 模型上的属性:“元数据工件处理”更改为“复制到输出目录”。 Designer.cs、csdl、msl、ssdl 文件似乎都与最新的 DB 更改一致。

第一次引用我的 entityModel 实例时抛出异常。因此,它在任何加载或保存已更改表中的数据之前。

我哪里出错了?
谢谢,
TG

最佳答案

以 XML 格式打开模型。从 CSDL 中删除对该类型的所有引用。保存并关闭,然后在 GUI 中重新打开。现在您应该可以像往常一样更新模型了。如果这不起作用,请执行相同的操作,但也要从 MSL 中删除。

关于entity-framework - 概念类型的成员数量与对象端类型的成员数量不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2096399/

相关文章:

c# - 通过简单注入(inject)器拦截/装饰 Entity Framework 的 DbContext.SaveChanges()

entity-framework - 使EF包含方法生成内部连接的方法?

sql - 对于 Entity Framework ,对于 "TOP 1"使用 .First() 还是 .Take(1) 更好?

c# - 访问其他模型属性的自定义验证方法

c# - 如何知道 DbEntityEntry 中存储的属性是否是属性`?

multithreading - EF 5 中的多线程

c# - EF4 代码优先导致 InvalidOperationException

asp.net-mvc - 如何使用 MVC 5 进行服务器端验证

c# - DbContext "using"在一行中

entity-framework - EF7 - HasOne 关系的自定义列名