Dot-Net

Linq to SQL 還是 Linq to DataSet?

  • January 26, 2011

我是 Linq 世界的新手,目前正在探索它。我正在考慮在我的下一個涉及數據庫互動的項目中使用它。

從我讀過的任何內容來看,我認為與數據庫互動有兩種不同的方式:

  • LINQ轉SQL
  • Linq 到數據集

現在我要開發的產品不能依賴於數據庫的類型。例如,它可能與 SQL server/Oracle 一起部署。

現在我的問題是:

  1. 如果我使用 Linq to SQL,我是否只使用 SQL 伺服器?
  2. 我想我可以將 Linq to DataSet 用於 SQL server 和 oracle。但是,如果我將 Linq to DataSet 用於 SQL 伺服器(與 Linq to SQL offcourse 相比),我會失去一些東西(易於程式、性能、可靠性等)。

您對 #1 是正確的 - Linq to Sql 僅適用於 SQL Server 數據庫。

如果您希望能夠訪問不同的數據源(使用不同的提供程序),我會選擇 ADO 實體框架。您在使用類似 POCO 的實體方面獲得了類似的靈活性,並且很容易擴展為更高級/複雜的實現。

在我目前的項目中,我們使用的是 Linq to Sql,它很好,但是我們有很多問題需要克服。在可擴展性方面,我發現它有時過於簡單。我在這裡寫了一個關於 Linq to Sql 和實體框架的(更好的)回复。

關於問題 #2 - 我不確定我是否想回到 DataSets。恕我直言,它們已成為過去,但如果您有一個帶有特定控制項(如 Infragistics)的體面的工具包,它們會很有用。但是,我發現它們的成本對於快速事務系統來說太昂貴了。該實現沒有 Linq to Sql 或實體框架的一半功能。

引用自:https://stackoverflow.com/questions/618713