注意.NET中容易混淆的幾組重要概念(2)_.Net教程
推薦:如何在ASP.Net中實現(xiàn)RSA加密在我們實際運用中,加密是保證數據安全的重要手段。以前使用ASP時,對數據加密可以使用MD5和SHA1算法,這兩種算法雖然快捷有效,但是無法對通過它們加密的密文進行反運算,即是解密。因此需要解密數據的場合,這兩種方法就不太適合了。當然你也可以自己編寫
LINQ / LINQ to SQL / LINQ to XXX
LINQ是新生事物,不過從不少文章和討論上看來,這方面的概念也已經有點混沌不清了。因此我們經�?梢钥吹竭@樣的話:
◆LINQ只能將數據表與實體屬性一一對應……
◆LINQ開發(fā)指南:在LINQ中進行數據庫字段映射……
以上兩句話其實說的都是LINQ to SQL而不是指LINQ�?赡苡捎贚INQ to SQL的上鏡率最廣(連MSDN上About LINQ的第一個示例就是查詢數據庫的),因此許多人都將LINQ to SQL與LINQ混用,這會給初學者造成誤解,認為LINQ就是LINQ to SQL,LINQ to SQL就是LINQ——事實當然不是這樣的。
LINQ是Language-Integrated Query的縮寫,是C# 3.0和VB 9.0中新加入的語言特性,可以在編程時使用內置的查詢語言進行基于集合的操作。這么做可以大大簡化開發(fā)過程,提高開發(fā)效率。例如:
| 以下為引用的內容: List userList = GetUserList(); var userWithOddId = from u in userList where u.UserID % 2 == 1 select u; foreach (User u in userWithOddId) { Console.WriteLine(u.UserName); } |
如果沒有LINQ,要篩選出ID為奇數的User對象則需要創(chuàng)建一個List,然后遍歷整個列表,將符合特定條件的User對象放入新列表。而有了LINQ,這部分的篩選就變得非常容易,甚至只需要一句話就能完成。如果覺得這個例子不夠說明LINQ對生產力有重大貢獻的話,請關注我接下來的一篇文章(暫定名為《我們?yōu)槭裁匆獡肀INQ》)。LINQ特指形如上面這段代碼中from...where...select這樣的用法,其返回值是IQueryable或IEnumerable。
LINQ to SQL是.NET 3.5內置的一個輕量級O/R Mapping解決方案,可以將數據表映射為實體對象,方便開發(fā)人員對數據庫的操作。可見,LINQ to SQL實只是LINQ的一個實現(xiàn),提供了一個可以查詢SQL Server數據庫的LINQ Provider。
LINQ Provider是LINQ查詢的執(zhí)行器,標準LINQ語法支持許多的操作符,但是某個具體的LINQ實現(xiàn)可能只支持其中的一部分。在.NET 3.5默認提供了三種LINQ Provider,分別是LINQ to Object(即上面的例子),LINQ to SQL以及LINQ to XML。
LINQ to XXX表示使用LINQ針對XXX這種數據進行查詢的解決方案。我們可以自定義LINQ Provider,使用我們自定義的查詢規(guī)則來處理特定數據集。目前互聯(lián)網上已經可以找到數十種LINQ Provider(如LINQ to Flickr,LINQ to NHibernate等),而已經處于beta 3階段的ADO.NET Entity Framework,最終也會提供一個LINQ Provider,叫做“LINQ to Entities”。
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實例(可帶附件)
- js實現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進度條的實現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現(xiàn)分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-注意.NET中容易混淆的幾組重要概念(2)
。