繁体   English   中英

如何在EF中包含2个导航属性?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM