EF 多表關聯查詢,需要查詢出關聯表的信息,需用到include方法,以查詢數據列表爲例,代碼如下
/// <summary>
/// 獲取數據列表
/// </summary>
/// <param name="orderExp">排序條件</param>
/// <param name="expression">查詢條件</param>
/// <param name="orderBy">排序方式</param>
/// <param name="includes">關聯表</param>
/// <returns></returns>
public List<T> GetList(Expression<Func<T, dynamic>> orderExp,Expression<Func<T,bool>> expression = null,string orderBy="desc", string[] includes=null)
{
try
{
IQueryable<T> quary= netCoreDbContext.Set<T>().AsNoTracking().AsQueryable();
if (includes!=null&&includes.Any())
{
foreach (var include in includes)
{
quary = quary.Include(include);
}
}
if (expression != null)
{
quary = quary.Where(expression);
}
return orderBy == "desc" ? quary.OrderByDescending(orderExp).ToList() : quary.OrderBy(orderExp).ToList();
}
catch (Exception ex)
{
LogHelper.WriteErrLog(logPath, ex);
return null;
}
}