根據查詢實體獲取指定返回列的值

一步步完善並優化本身的ORM框架功能sql

[新增]
/// <summary>
        /// 根據查詢實體獲取指定返回列的值
        /// </summary>
        /// <typeparam name="SearchT">查詢實體類</typeparam>
        /// <typeparam name="ResultT">返回實體類</typeparam>
        /// <param name="searchEntity">查詢實體</param>
        /// <param name="resultEntity">返回實體</param>
        /// <param name="dataBaseName">庫名</param>
        /// <param name="tableName">表名</param>
        /// <param name="selectExpressions">返回屬性表達式</param>
        /// <returns>sql參數集合</returns>
        public static List<ResultT> GetListBySelectExpression<SearchT, ResultT>(SearchT searchEntity, ResultT resultEntity, string dataBaseName, string tableName = "",
            params Expression<Func<ResultT, object>>[] selectExpressions)
            where ResultT : EntityBase, new()
        {
            //返回的結果集
            List<ResultT> resultList = new List<ResultT>();
            string sql = string.Empty;
            Dictionary<string, PropertyInfo> propertieList = GetProperties(resultEntity.GetType());
            var pars = GetQuerySqlBySelectExpression(searchEntity, resultEntity, out sql, tableName, selectExpressions);
            if (!string.IsNullOrEmpty(sql) && pars != null && pars.Count > 0)
            {
                resultList = GetExecuteResultTesk<ResultT>(sql, pars, propertieList, dataBaseName);
                pars.Clear();
            }

            return resultList;
        }
相關文章
相關標籤/搜索