且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

的EntityFramework贪婪加载所有的导航属性

更新时间:2023-11-20 21:56:10

如果你不想使用字符串,你也可以做同样的任何N多的使用返回导航性能急于加载一个表达式包含。 (原始来源这里

If you don't want to use strings, you can also do the same for any N number of includes by using an expression which returns the navigation properties to be eager loaded. (original source here)

public IQueryable<TEntity> GetAllIncluding(params Expression<Func<TEntity, object>>[] includeProperties) 
{
   IQueryable<TEntity> queryable = GetAll();
   foreach (Expression<Func<TEntity, object>> includeProperty in includeProperties) 
   {
      queryable = queryable.Include<TEntity, object>(includeProperty);
   }

   return queryable;
}