您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“LINQ to SQL能做什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“LINQ to SQL能做什么”吧!
一. LINQ to Objects
只要實(shí)現(xiàn)了IEnumerable或IEnumerable<T>接口,就都支持。
二. LINQ to SQL(ADO.NET)
◆LINQ to DataSet、LINQ to SQL 和 LINQ to Entities。
◆LINQ to DataSet 提供對(duì) DataSet 的更為豐富的優(yōu)化查詢。
◆LINQ to SQL 可以直接查詢 SQL Server 數(shù)據(jù)庫(kù)架構(gòu)。
◆LINQ to Entities 可以查詢實(shí)體數(shù)據(jù)模型。
三. LINQ to XML
LINQ可以看作對(duì)foreach循環(huán)的改進(jìn):
1.它們更簡(jiǎn)明、更易讀,尤其在篩選多個(gè)條件時(shí)。
2.它們使用最少的應(yīng)用程序代碼提供強(qiáng)大的篩選、排序和分組功能。
3.無(wú)需修改或只需做很小的修改即可將它們移植到其他數(shù)據(jù)源。通常,您要對(duì)數(shù)據(jù)執(zhí)行的操作越復(fù)雜,您體會(huì)到的使用 LINQ 代替?zhèn)鹘y(tǒng)迭代技術(shù)的好處就越多。
四.LINQ to SQL:
1. LINQ要求數(shù)據(jù)庫(kù)表必須有主鍵。
2. 做update操作時(shí),生成的sql語(yǔ)句中where條件中不僅包括主鍵id=?,而且包括表中各列 and column2=? and column3=?。。。 這是LINQ自動(dòng)生成SQL語(yǔ)句的嚴(yán)謹(jǐn)所在,這是為了防止并發(fā)情況下,多個(gè)事務(wù)針對(duì)同一條記錄更新時(shí)發(fā)生錯(cuò)誤,假如A事務(wù)更新了該記錄,則B事務(wù)更新會(huì)失敗。
3. update不能更新主鍵。
4. skip().take()生成的sql實(shí)際就是: select count(*) from, 以及 row_num()來(lái)實(shí)現(xiàn)分頁(yè)。
5. 效率沒(méi)有直接使用T-SQL高,感覺(jué)適合于中小規(guī)模的,數(shù)據(jù)量不是特別大的開發(fā)中。而且其與asp.net中的一些控件的結(jié)合使用可能不是很方便。
6. 不如使用T-SQL靈活,尤其是查詢比較復(fù)雜,多表聯(lián)接,使用case函數(shù)等。
到此,相信大家對(duì)“LINQ to SQL能做什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。