我们有一个包含UNION查询的数据库视图。查询中的第一个SELECT语句会提取一个非null DateTime字段。第二个SELECT语句故意用NULL代替这个字段。
当我们要求EF从数据库"更新模型时#34;它创建的对象有一个标准的DateTime来表示这个字段,而不是Nullable。因此,每当它从视图中选择具有该字段的NULLS的记录时,它就会失败。
除了使原始表中的字段可以为空之外,还有什么方法可以让EF将其视为可以为空的字段吗?
答案 0 :(得分:1)
是的,你可以这样做。
首先,在Update Property Facets
中将选项ConceptualEntityModel
更改为false(默认为True)。
然后,转到EntityType
,选择您想要可为空的属性,并将属性Nullable
设置为True
完成这两项更改后,当您从数据库更新模型时,该属性将保持为Nullable
希望这有帮助
答案 1 :(得分:-1)
我发现这有助于: 将您的字段包装在DB视图上的ISNULL()中以强制可以为空的