国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Lambda表達式轉SQL語句類庫

2019-11-17 02:49:59
字體:
來源:轉載
供稿:網友

Lambda表達式轉SQL語句類庫

/* 作者:道法自然 * 個人郵件:myyangbin@sina.cn* 2014-10-1*/Lambda表達式轉SQL語句類庫源碼下載:http://download.csdn.net/detail/xftyyyyb/8044085一、可以達到的功能本功能類庫主要提供給代碼中使用Lambda表達式,后需轉成SQL的條件語句這一需求。二、不能做的1、本類庫不能解析Linq語句;2、不能解析SQL中的Select部分;三、案例:1、以Northwind數據庫Customers表為例,為使問題簡單,僅用部分字段演示 /// <summary> /// 客戶管理 /// </summary> public class Customers { /// <summary> /// 客戶ID /// </summary> public string CustomerID { get; set; } /// <summary> /// 公司名稱 /// </summary> public string CompanyName { get; set; } /// <summary> /// 地址 /// </summary> public string Address { get; set; } }2、可能會有如下方法訪問數據庫 public static Customers Data_Fetch(string aiWhere, string aiOrderBy) { var cnstr = ConfigurationManager.ConnectionStrings["DemoConnectionString"].ConnectionString; Customers aiCustomers = new Customers(); StringBuilder aisd = new StringBuilder(); using (SqlConnection cn = new SqlConnection(cnstr)) { #region 數據訪問 #region 查詢SQL語句 aisd.Append(" SELECT "); aisd.Append(" CustomerID,CompanyName,Address "); aisd.Append(" FROM Customers "); aisd.Append(aiWhere); aisd.Append(aiOrderBy); #endregion cn.Open(); using (SqlCommand cmd = new SqlCommand(aisd.ToString(), cn)) { using (SqlDataReader myDataReader = cmd.ExecuteReader()) { if (myDataReader.HasRows) { myDataReader.Read(); aiCustomers = new Customers { #region 類賦值 CustomerID = (string)myDataReader["CustomerID"], CompanyName = (string)myDataReader["CompanyName"], Address = (string)myDataReader["Address"] #endregion }; } }; } #endregion } return aiCustomers; }3、構建一個表達式方法 public static class DbCustomersTest { /// <summary> /// 構建一個表達式方法 /// </summary> /// <param name="aiExp">表達式</param> /// <returns></returns> public static Customers GetCustomers(ExPRession<Func<IQueryable<Customers>, IQueryable<Customers>>> aiExp) { AiExpConditions<Customers> expc = new AiExpConditions<Customers>(); expc.Add(aiExp); return Customers.Data_Fetch(expc.Where(), expc.OrderBy()); } }4、調用用例測試 Customers aic = DbCustomersTest.GetCustomers(c => c.Where(o => o.CustomerID == "ALFKI")); Customers aic2 = DbCustomersTest.GetCustomers(c => c.Where(o => o.CustomerID.Contains("CO")).OrderBy(o=>o.CompanyName));


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张家口市| 砀山县| 松江区| 日喀则市| 辛集市| 巴塘县| 理塘县| 冀州市| 吉安县| 扶沟县| 会宁县| 辉县市| 麻城市| 泰和县| 股票| 丘北县| 独山县| 赤水市| 微博| 新乡市| 弋阳县| 呼图壁县| 抚松县| 即墨市| 湘潭县| 长顺县| 山阳县| 乌兰浩特市| 台前县| 墨玉县| 长治县| 江门市| 华容县| 五大连池市| 白水县| 黄骅市| 苗栗县| 东阿县| 府谷县| 嘉义市| 吉隆县|