2010-03-19 43 views
3

LINQ和ADO.net有什麼區別LINQ和ADO.net有什麼區別

+0

@mxmissible:雖然不好陷害,這個問題就很難落在'lmgtfy category'。 LINQ及其許多提供者(LINQ-to-Entities,-to-SQL,to-XML ...)是一個相當廣泛和抽象的主題,在得到這個問題的答案之前,可能需要大量的搜索和閱讀(或者更糟糕的是:沒有最小背景的人可能會對LINQ是什麼感到困惑)。 – mjv 2010-03-19 13:00:07

回答

1

我想你可能是指LINQ-to-SQL。 ADO.NET是與數據庫交談的基本骨架,因此您需要自己設置DataTables,DataReaders等。這包括遍歷我們的表格,建立連接,交易等。

LINQ-to-SQL是一個ORM(對象關係映射器),它允許您將數據視爲業務對象而不是數據集合數據表。 LINQ到SQL與ADO.NET協同工作。更容易!

LINQ是使用LINQ到SQL查詢表中的表達式語法,例如

ClientSet.Where(q=>q.ID==1).First(); 
0

LINQ到SQL實際上代表LINQ爲「使用SQL數據庫」或者換句話說LINQ爲關係數據模型。 LINQ to Entities意思是LINQ for Entity-Data-Model,它是一種關係型++模型。

更多信息:

http://blogs.microsoft.co.il/blogs/gilf/archive/2008/04/20/linq-to-sql-vs-entity-framework.aspx

+2

不,Linq to SQL不適用於「使用SQL的數據庫」。它僅適用於SQL Server,不適用於其他數據庫。另一方面,實體框架可以與其他DMBS協同工作 – 2010-03-19 12:56:25

2

的LINQ是一種語言特性(語言集成查詢),可實現對象的查詢。它通常與Linq to Sql相混淆,Sql是一系列擴展方法和其他允許使用Linq語句查詢Sql Server數據庫的代碼。

您可以編寫一個Linq提供程序來查詢任何類型的數據源,例如,有一個Linq to Amazon提供程序允許您從Amazon的公共API中檢索結果。

ADO.Net是用於檢索數據系列的技術,我建議從這裏開始:http://en.wikipedia.org/wiki/ADO.NET