EF4中多表关联查询Include的写法
大家好,好久没有写作了,最近遇到了个问题,最终是靠自己的尝试写出来的,希望可以帮到有需要的人。
在我们查询时通常会遇到多级表关联的情况,很多时候有人会想写一个from LINQ语句来解决,那么冗长的代码,还影响开发效率
接下来我就简单描述下吧。
正常情况下大家会使用如下这种方式,Bugs表关联BugsFound表。
using (VersionControlEntities entities = new VersionControlEntities())
{
return entities.Bugs.Include("BugsFound").Where(jc => jc.ID == bugid).FirstOrDefault();
}
如果我想在关联BugsFound表下面的表,就不知道该怎么写了,直接写Include("表名")会去关联Bugs表中,但是Bugs表中不存在这个“表名”的关联关系。
怎么办呢?就衍生出了下面的方法尝试。
using (VersionControlEntities entities = new VersionControlEntities())
{
return entities.Bugs.Include("BugsAnalysis").Include("BugsAnalysis.User").Where(jc => jc.ID == bugid).FirstOrDefault();
}
这里面用的是Bugs关联了BugsAnalysis表,再关联BugsAnalysis表所关联的User表,写成BugsAnalysis.User即可。
希望这种方法可以帮助到各位。更新版本的EF的写法大家可以参考Include和ThenInclude的方式
本文来自博客园,作者:Jacob·雅各布,转载请注明原文链接:https://www.cnblogs.com/JacobX/p/13228266.html