LINQ to SQL簡單介紹
本文向大家介紹LINQ to SQL,可能好多人還不了解LINQ to SQL,沒有關系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
一. LINQ to Objects
只要實現(xiàn)了IEnumerable或IEnumerable<T>接口,就都支持。
二. LINQ to SQL(ADO.NET)
◆LINQ to DataSet、LINQ to SQL 和 LINQ to Entities。
◆LINQ to DataSet 提供對 DataSet 的更為豐富的優(yōu)化查詢。
◆LINQ to SQL 可以直接查詢 SQL Server 數(shù)據(jù)庫架構。
◆LINQ to Entities 可以查詢實體數(shù)據(jù)模型。
三. LINQ to XML
LINQ可以看作對foreach循環(huán)的改進:
1.它們更簡明、更易讀,尤其在篩選多個條件時。
2.它們使用最少的應用程序代碼提供強大的篩選、排序和分組功能。
3.無需修改或只需做很小的修改即可將它們移植到其他數(shù)據(jù)源。通常,您要對數(shù)據(jù)執(zhí)行的操作越復雜,您體會到的使用 LINQ 代替?zhèn)鹘y(tǒng)迭代技術的好處就越多。
四.LINQ to SQL:
1. LINQ要求數(shù)據(jù)庫表必須有主鍵。
2. 做update操作時,生成的sql語句中where條件中不僅包括主鍵id=?,而且包括表中各列 and column2=? and column3=?。。。 這是LINQ自動生成SQL語句的嚴謹所在,這是為了防止并發(fā)情況下,多個事務針對同一條記錄更新時發(fā)生錯誤,假如A事務更新了該記錄,則B事務更新會失敗。
3. update不能更新主鍵。
4. skip().take()生成的sql實際就是: select count(*) from, 以及 row_num()來實現(xiàn)分頁。
5. 效率沒有直接使用T-SQL高,感覺適合于中小規(guī)模的,數(shù)據(jù)量不是特別大的開發(fā)中。而且其與asp.net中的一些控件的結合使用可能不是很方便。
6. 不如使用T-SQL靈活,尤其是查詢比較復雜,多表聯(lián)接,使用case函數(shù)等。
【編輯推薦】















 
 
 
 
 
 
 