您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關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隱含類型局部變量
var age = 26; var username = "zhuye"; var userlist = new [] {"a","b","c"}; foreach(var user in userlist) Console.WriteLine(user);
純粹給懶人用的var關鍵字,告訴編譯器(對于CLR來說,它是不會知道你是否使用了var,苦力是編譯器出的),你自己推斷它的類型吧,我不管了。但是既然讓編譯器推斷類型就必須聲明的時候賦值,而且不能是null值。注意,這只能用于局部變量,用于字段是不可以的。
Linq to sql匿名類型
var data = new {username = "zhuye",age = 26}; Console.WriteLine("username:{0} age:{1}", data.username, data.age);
匿名類型允許開發人員定義行內類型,無須顯式定義類型。常和var配合使用,var用于聲明匿名類型。定義一個臨時的匿名類型在LINQ查詢句法中非常常見,我們可以很方便的實現對象的轉換和投影。
Linq to sql擴展方法
public static class helper
{
public static string MD5Hash(this string s)
{
return System.Web.Security.FormsAuthentication.
HashPasswordForStoringInConfigFile(s,"MD5");}
public static bool In(this object o, IEnumerable b)
{
foreach(object obj in b)
{
if(obj==o)
return true;
}
return false;
}
}
// 調用擴展方法
Console.WriteLine("123456".MD5Hash());
Console.WriteLine("1".In(new[]{"1","2","3"}));
很多時候我們需要對CLR類型進行一些操作,苦于無法擴展CLR類型的方法,只能創建一些helper方法,或者生成子類。擴展方法使得這些需求得意實現,同時也是實現LINQ的基礎。定義擴展方法需要注意,只能在靜態類中定義并且是靜態方法,如果擴展方法名和原有方法名發生沖突,那么擴展方法將失效。
Linq to sql自動屬性
public class Person { public string username { get; protected set; } public int age { get; set; } public Person() { this.username = "zhuye"; } } Person p = new Person(); //p.username = "aa"; Console.WriteLine(p.username);
意義不是很大,純粹解決機械勞動。編譯器自動為你生成get、set操作以及字段,并且你不能使用字段也不能自定義get、set操作,不過你可以分別定義get和set的訪問級別。
感謝各位的閱讀!關于“Linq to sql是什么意思”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。