成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linq to sql全面剖析

開發 后端
這里介紹Linq to sql(或者叫DLINQ)是LINQ(.NET語言集成查詢)的一部分,全稱基于關系數據的 .NET 語言集成查詢,用于以對象形式管理關系數據,并提供了豐富的查詢功能。

Linq有很多值得學習的地方,這里我們主要介紹Linq to sql,包括介紹Linq to sql隱含類型局部變量等方面。

什么是Linq to sql

Linq to sql(或者叫DLINQ)是LINQ(.NET語言集成查詢)的一部分,全稱基于關系數據的 .NET 語言集成查詢,用于以對象形式管理關系數據,并提供了豐富的查詢功能,它和Linq to xml、Linq to objects、Linq to dataset、Linq to entities等組成了強大的LINQ。

要學好LINQ查詢語法,就不得不先理解C# 3.0的一些新特性,下面一一簡單介紹。

Linq to sql隱含類型局部變量

  1. var age = 26;  
  2.  
  3. var username = "zhuye";  
  4.  
  5. var userlist = new [] {"a","b","c"};  
  6.  
  7. foreach(var user in userlist)  
  8. Console.WriteLine(user); 

純粹給懶人用的var關鍵字,告訴編譯器(對于CLR來說,它是不會知道你是否使用了var,苦力是編譯器出的),你自己推斷它的類型吧,我不管了。但是既然讓編譯器推斷類型就必須聲明的時候賦值,而且不能是null值。注意,這只能用于局部變量,用于字段是不可以的。

Linq to sql匿名類型

  1. var data = new {username = "zhuye",age = 26};  
  2. Console.WriteLine("username:{0} age:{1}", data.username, data.age); 

匿名類型允許開發人員定義行內類型,無須顯式定義類型。常和var配合使用,var用于聲明匿名類型。定義一個臨時的匿名類型在LINQ查詢句法中非常常見,我們可以很方便的實現對象的轉換和投影。

Linq to sql擴展方法

  1. public static class helper  
  2. {  
  3. public static string MD5Hash(this string s)  
  4. {  
  5. return System.Web.Security.FormsAuthentication.
    HashPasswordForStoringInConfigFile(s,"MD5");  
  6. }  
  7. public static bool In(this object o, IEnumerable b)  
  8. {  
  9. foreach(object obj in b)  
  10. {  
  11. if(obj==o)  
  12. return true;  
  13. }  
  14. return false;  
  15. }  
  16. }  
  17. // 調用擴展方法  
  18. Console.WriteLine("123456".MD5Hash());  
  19. Console.WriteLine("1".In(new[]{"1","2","3"})); 

很多時候我們需要對CLR類型進行一些操作,苦于無法擴展CLR類型的方法,只能創建一些helper方法,或者生成子類。擴展方法使得這些需求得意實現,同時也是實現LINQ的基礎。定義擴展方法需要注意,只能在靜態類中定義并且是靜態方法,如果擴展方法名和原有方法名發生沖突,那么擴展方法將失效。

Linq to sql自動屬性

  1. public class Person  
  2. {  
  3. public string username { get; protected set; }  
  4. public int age { get; set; }  
  5. public Person()  
  6. {  
  7. this.username = "zhuye";  
  8. }  
  9. }  
  10. Person p = new Person();  
  11. //p.username = "aa";  
  12. Console.WriteLine(p.username); 

意義不是很大,純粹解決機械勞動。編譯器自動為你生成get、set操作以及字段,并且你不能使用字段也不能自定義get、set操作,不過你可以分別定義get和set的訪問級別。

【編輯推薦】

  1. Linq結果集形狀概述
  2. Linq存儲過程返回詳解
  3. Linq調用LoadProducts方法
  4. Linq使用數據表簡單描述
  5. Linq對象引用簡單介紹
責任編輯:佚名 來源: IT168
相關推薦

2009-09-17 13:15:20

LINQ查詢

2009-09-18 17:17:58

LINQ模型

2009-09-11 12:13:40

LINQ to SQL

2009-09-07 16:25:14

Linq To SQL

2009-09-08 16:20:12

LINQ to SQL

2009-09-16 09:56:42

LINQ to SQL

2009-09-17 15:22:38

LINQ to SQL

2009-09-15 10:59:10

LinQ to SQL

2009-09-10 14:37:57

LINQ匿名類型

2009-09-16 16:59:05

LINQ to XML

2009-09-09 16:21:31

Linq使用sqlme

2009-09-14 10:13:02

LINQ查詢操作

2009-09-14 15:12:40

LINQ to XML

2009-09-16 10:38:43

LINQ查詢

2009-09-18 16:20:36

LINQ基礎

2009-09-16 17:21:53

LINQ遍歷

2009-09-14 10:35:15

Linq內部執行原理

2009-09-09 13:39:05

Linq用戶定義函數

2009-09-15 14:52:15

linq級聯刪除

2009-09-08 15:39:13

Linq使用Inser
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩av福利在线观看 | 91精品久久久久 | 国产精品久久久久久久免费大片 | 亚洲成人a v | 国产视频欧美 | 午夜电影网站 | 久久夜视频 | 中文字幕不卡一区 | 国产免费av网 | 亚洲欧美一区二区三区国产精品 | 午夜视频一区 | 精品日韩一区 | 免费av手机在线观看 | 中文字幕视频在线观看 | 人人做人人澡人人爽欧美 | 超碰成人在线观看 | 一区二区三区电影网 | 国产精品一区一区 | 国产精品亚洲综合 | 一级片在线视频 | 国产成人精品高清久久 | 国产精品久久久久久久一区探花 | 久久久久久久一级 | 99精品视频免费在线观看 | 欧美黑人一级爽快片淫片高清 | 中文字幕一区在线观看视频 | 浮生影院免费观看中文版 | 日韩精品专区在线影院重磅 | aaa国产大片| 国产成人精品免费视频大全最热 | 久久专区 | 欧美日韩国产一区二区三区 | 别c我啊嗯国产av一毛片 | 色婷婷av久久久久久久 | 日韩精品在线一区 | 免费一级做a爰片久久毛片潮喷 | 欧美一级欧美三级在线观看 | 亚洲国产二区 | 精品久久久久一区二区国产 | 精品久久香蕉国产线看观看亚洲 | 久久这里只有精品首页 |