[英]How to include 2 navigational properties in EF?
我的数据库中的一个对象具有2个导航属性(B和C):
Object A
{
B bProperty
C cProperty
}
我希望在查询对象A时将它们都包括在内。我尝试执行以下操作:
dbcontext.A.Include(x => x.B).ToList();
但是我如何也包含C?
尝试这个
dbcontext.A.Include(x => xB).Include(x => xC).ToList();
我一口气做完了所有事情,因此在我的EF存储库类中,我有一个名为GetAllIninclude的方法,该方法等于以通用方式对每个实体进行操作,
public IQueryable<T> GetAllIncluding(params Expression<Func<T, object>>[] includes)
{
var query = DbSet.AsNoTracking();
query = includes.Aggregate(query, (current, includeProperty) => current.Include(includeProperty));
return query;
}
其中DbSet是IDbSet类型的私有成员,T是BaseEntity类型的成员。
我的使用方式就是这样
MyGenericRepository<A>().GetAllIncluding(x=> x.B, x=> x.C).FirstOrDefault();
希望能有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.