.Net Core ef 多表關聯查詢

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;
            }
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章