EF之外键Include() left join
Posted Hanf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF之外键Include() left join相关的知识,希望对你有一定的参考价值。
项目中用EF实现外键查询出的数据, 查询数量正确, 但实现返回数据集数量不对
//DbContext.cs HasRequired(s => s.ClassRoom) .WithMany() .HasForeignKey(student => student.ClassRoomId);
//查询语句 dbRead.Set<Student>().Include(x=>x.ClassRoom);
查询 .Count()和.ToList()结果数量不一致
经调试后发现生成的Sql语句为 inner join
正确的结果应该是 left join
此时应该如下定义外键
HasOptional(s => s.ClassRoom) .WithMany() .HasForeignKey(student => student.ClassRoomId);
此时返回的结果就正确了!
以上是关于EF之外键Include() left join的主要内容,如果未能解决你的问题,请参考以下文章
EF INNER JOIN,LEFT JOIN,GROUP JOIN