sql – “Y”上的“X”属性无法设置为“null”值.您必须将此属性设置为类型“Int32”的非空值

前端之家收集整理的这篇文章主要介绍了sql – “Y”上的“X”属性无法设置为“null”值.您必须将此属性设置为类型“Int32”的非空值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我运行我的应用程序,我点击一个特定的按钮我得到错误
"The "X" property on "Y" could not be set to a 'null' value. You must set this property to a non-null value of type 'Int32'."

很酷,所以我去我的实体项目,去Y表,找到X列,右键单击并转到X的属性,并发现Nullable设置为False.

我在sql中验证在Y表中,X被设置为允许空值,它是.

然后我回到我的实体项目,将Nullable设置为True,保存并构建,我收到:

Error 3031: Problem in mapping fragments starting at line 4049:Non-nullable column "X" in table "Y" is mapped to a nullable entity property.

我听说删除.edmx文件中的表,然后重新添加它是一种可能性,但从来没有这样做,并且不明白这样的含义,足以让人感到舒服.

我听说可以在视图中,可以在存储过程中…

也听说这是一个bug.

有没有人遇到这个,找到一个“全面的”修复或一些路线图在哪里寻找这个错误

谢谢!

解决方法

"The "X" property on "Y" could not be set to a 'null' value. You must set this property to a non-null value of type 'Int32'."

在您的EDMX中,如果您在Y表下方并单击X列,右键单击属性,向下滚动到Nullable并从False更改为True.

如果您收到“映射片段”错误,则必须从EDMX中删除该表并重新添加它,因为在模型浏览器中,它存储表属性,并且是唯一的刷新方式(我知道)将从<数据库> .Store中的模型浏览器中删除该表,然后使用从Database ..命令更新模型进行检索.

猜你在找的MsSQL相关文章