暫時對BLL層的join解法

  • 35
  • 0
  • C#
  • 2019-11-29

BLL層跟join

固定回傳DataTable去解析,這算是目前比較快的方式,動態型別還沒研究.....也許會動就好

        /// <summary>
        /// sql join查詢 
        /// </summary>
        /// <param name="strSQL">SQL From語法</param>
        /// <param name="strWhere">where語法</param>
        /// <returns>回傳結果 datat table</returns>
        public DataTable QueryWithJoin(string strSQL, string strWhere)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(strSQL);
           if (!string.IsNullOrEmpty(strWhere))
            {
                sb.Append(" where  ");
                sb.Append(strWhere);
            }
 

            DataTable dtResult = new DataTable();

            using (var connection = ConnectionFactory.GetOpenConnection())
            {
                dtResult.Load( connection.ExecuteReader(sb.ToString()));
            }

            return dtResult;
        }
 

基於dapper 型別 回傳動態的model  

 

   /// <summary>
        /// sql join查詢 
        /// </summary>
        /// <param name="strSQL">SQL From語法</param>
        /// <param name="strWhere">where語法</param>
        /// <returns>回傳結果 datat table</returns>
        public List<T> QueryWithJoin<T>(string strSQL, string strWhere)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(strSQL);
            sb.Append(" ");
            sb.Append(strWhere);

            List<T> Result = new List<T>();

            using (var connection = ConnectionFactory.GetDBWebConnection())
            {
                Result = connection.Query<T>(sb.ToString()) .ToList();
            }

            return Result;
        }
 

 

以上文章僅用紀錄資料使用.....