成人免费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-09 13:39:05

Linq用戶定義函數

2009-09-14 10:35:15

Linq內部執行原理

2009-09-15 14:52:15

linq級聯刪除

2009-09-08 15:39:13

Linq使用Inser
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品高清在线 | 黄色在线观看网址 | 久久久久国产一区二区三区四区 | 91婷婷韩国欧美一区二区 | 欧美理论 | 九九热精品视频 | 亚洲日本视频 | 波波电影院一区二区三区 | 天天综合日日夜夜 | 超碰超碰 | 久久国产精品一区二区三区 | 国产丝袜一区二区三区免费视频 | 在线观看视频福利 | 久久久久亚洲精品 | 国产一区 日韩 | 人人干人人超 | 99riav3国产精品视频 | 欧美成人在线免费 | av一区二区在线观看 | 在线观看成年视频 | 久久精品国产免费一区二区三区 | www.99re| 久久91av| 久久久久成人精品免费播放动漫 | 免费簧片视频 | 亚洲成人国产精品 | www.久久久久久久久久久久 | 亚洲电影专区 | 在线视频一区二区三区 | 精品国产一区二区三区性色 | 国产在线www| a毛片 | 视频三区 | 91中文在线观看 | 亚洲精品4| 久草视频观看 | 亚洲一区二区不卡在线观看 | 久久精品天堂 | 中文字幕一区二区三区四区不卡 | www精品美女久久久tv | 久久久久久综合 |