Error 3031: Problem in mapping fragments starting at line 439:Non-nullable column D_LINK.CARTON_QTY in table D_LINK is mapped to a nullable entity property.
我有一个带有列
的视图D_LINK
CARTON_QTY(int, not null)
我不明白我的问题在哪里 我必须使它成为空\如何?
答案 0 :(得分:9)
从您的数据库刷新edmx中的表格(在模型浏览器中,右键单击 - >从数据库更新模型 - >更新标签 - >选择您的表格 - >点击更新)
答案 1 :(得分:7)
错误表示表/视图中的列不可为空,但实体模型中类的属性可以为空。它们必须是可空的或不可空的。
答案 2 :(得分:1)
将非可空列更改为可空列后,我遇到了此问题。 为我解决的是以下内容:
其中一项行动并没有解决我的问题(感觉就像一个小故障)。希望这可以帮助别人。
答案 3 :(得分:1)
只需从模型中删除该特定表格,然后重新添加即可。这将解决您的问题。
答案 4 :(得分:0)
这是在我发现的EF 4.5上,以前的版本可能没有这个确切的问题。
DRM提到了更新它的方法,但我发现有时甚至在你更新它时会发生一些微小的变化,例如切换必填字段或更改字段名称,即使你更新它也不会在edmx中更改它们。因此,您的数据模型与数据库不完全匹配。我发现确保您的edmx实体模型正确的最佳方法是删除edmx并重新添加它。在EF 4.5上执行数据库第一种方法后,我认为实体似乎更好地使用代码优先方法而不是数据库优先。
答案 5 :(得分:0)
如果你想保留记录。只有撤消才会删除错误,否则会重建表格
答案 6 :(得分:0)
我解决了 1.从模型中删除特定表 2.右键单击模型,从数据库中选择“更新模型”,选择已删除的表,然后单击“完成”。