如何解决需要加载表中的所有行,而其中一些在EF中具有空值
我有表A,B,C,D。
表D具有forgienKey关系列(A1,B1,C1),其中表A,B,C和表D中的列C1是可空列,因为它在使用Include()可空列行加载表D时被跳过下面
_context.Entry(F).Collection(x=>x.D).Query().Include(x=>x.A).Include(x=>x.B).Include(x=>x.C).Load();
我可以使用上面的Query来获取ID的1,3,4的值,但是由于值为空,所以集合列表中没有完整的行ID 2、5。
如果C1为空值,我应该获得剩余的列信息。需要帮助
解决方法
对我来说,最明显的原因是为什么某些C
列的数据不来,是因为您正在使用的Include
方法在下面充当表之间的联接操作,并且如您所知,如果两个表与PK-> FK关系不匹配,“联接”将不会带来两个表的结果。
这里的建议之一是调用SQL存储过程。
另一建议是使用类似的方法来使用LINQ LEFT OUTER JOIN
。
Here是关于如何做到这一点的出色的强调文本帖子。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。