Entity Framework查询视图含空值列返回null问题求助
问题:Entity Framework查询含空值列的视图时返回null
当查询结果里存在一个或多个null列时,哪怕其他列有数据,Entity Framework的查询结果仍会是null。本次场景和同类问题不同的是:空值列既不是查询结果的首列,也不是主键列,查询对象是一个自带关联的视图。
代码示例
using (var ctx = new databaseEntities()) { return ctx.MyView.FirstOrDefault(a => a.Column3 == someIntegerValue); }
现象
- 直接执行带
WHERE Column3 = someIntegerValue的SQL查询,能返回完整行数据 - 只有当查询结果中没有空值列时,Entity Framework的查询才会正常返回数据
- 视图是通过“从数据库更新模型...”的方式导入设计器的,未做任何修改
临时解决办法
移除视图中两个由UDF生成、偶尔会返回null的列,再重新添加到.edmx中,问题即可解决。使用的Entity Framework版本为6.4.4。
内容的提问来源于stack exchange,提问作者Muhid
相关产品推荐
相关产品推荐

