如何在EF中包含2个导航属性?
我的数据库中的对象有2个导航属性(B和C):
Object A { B bProperty C cProperty }
我希望在查询对象A时包括它们。我尝试执行以下操作:
dbcontext.A.Include(x => xB).ToList();
但是我如何包括C呢?
试试这个
dbcontext.A.Include(x => xB).Include(x => xC).ToList();
我一口气做,所以在我的EF存储库类中,我有一个名为GetAllIncluding的方法,它等于每个实体以通用方式执行,
public IQueryable GetAllIncluding(params Expression>[] includes) { var query = DbSet.AsNoTracking(); query = includes.Aggregate(query, (current, includeProperty) => current.Include(includeProperty)); return query; }
其中DbSet是IDbSet类型的私有成员,T是BaseEntity类型。
而我使用它的方式就是这样
MyGenericRepository().GetAllIncluding(x=> xB, x=> xC).FirstOrDefault();
希望有所帮助。