国产探花免费观看_亚洲丰满少妇自慰呻吟_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));


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汶上县| 沁源县| 怀来县| 旌德县| 朝阳县| 离岛区| 鹤壁市| 筠连县| 抚宁县| 双鸭山市| 翼城县| 友谊县| 崇阳县| 沿河| 楚雄市| 成都市| 吴堡县| 平塘县| 黄石市| 板桥市| 镇平县| 晋城| 团风县| 敖汉旗| 巢湖市| 迁西县| 东至县| 霞浦县| 双流县| 侯马市| 乌鲁木齐县| 政和县| 临猗县| 舟山市| 武宣县| 德庆县| 杨浦区| 监利县| 阳山县| 马山县| 西昌市|