Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架不可为null的列映射到可为null的实体属性_C#_Entity Framework_Mapping_Poco_Nullable - Fatal编程技术网

C# 实体框架不可为null的列映射到可为null的实体属性

C# 实体框架不可为null的列映射到可为null的实体属性,c#,entity-framework,mapping,poco,nullable,C#,Entity Framework,Mapping,Poco,Nullable,我在Entity Framework 4.1中收到此可为null的列错误消息-当该列实际上不可为null时: Non-nullable column MyView.RunningTotal in table TransactionListView is mapped to a nullable entity property. 但是您可以从下面的屏幕截图中看到,列不可为null,实体属性也不可为null。那么,为什么会发生这种错误呢 直接的解决方案是手动将Nullable参数指定为True。

我在Entity Framework 4.1中收到此可为null的列错误消息-当该列实际上不可为null时:

Non-nullable column MyView.RunningTotal in table TransactionListView 
is mapped to a nullable entity property.
但是您可以从下面的屏幕截图中看到,列不可为null,实体属性也不可为null。那么,为什么会发生这种错误呢


直接的解决方案是手动将Nullable参数指定为True。

2017更新(Visual Studio 2017)

如果lLya提到的被接受的直接解决方案对您没有帮助,那么这可能会。 您可能会注意到,当您保存一个图表时,它会做一些工作,比如根据图表的更改更改类属性。有人会认为发电机本身会意识到这些变化,对吧?!您可能仍然会遇到此错误


对我来说,修复它的是重新生成数据库(右键单击图表->从模型重新生成数据库)。

是否(无)表示默认值为nullability,但不是false?如果指定True,它会工作吗?现在我身边没有visual studio可供我自己检查…将(无)更改为False works,但每次重新生成edmx时(使用从数据库生成模型),该更改都将丢失。您是否尝试从设计器中删除实体并重新添加它?我用这种方法解决过类似的问题。@JK-不,它不会丢失的。EF不会更改已设置的属性。请尝试更改模型生成上的选项-有一个地方可以调整此行为。好的,我从一开始就这样做了,但在Visual Studio 2015中仍然会遇到此错误。有点不对劲,太奇怪了。在properties窗口中,它显示为nullable“True”,但我刚刚在文本编辑器中打开了.edmx文件,它被设置为false。“见鬼!”杰瑞德比奇,同样的事情也发生在我身上。事实证明,当您更新.edmx文件时,需要先保存它(ctrl+s),然后更改才会显示在分部类中!给我一个大惊喜!