2010-04-12 35 views

回答

7

使用ADO.NET和某種SQL的:

  • 優勢:不需要任何形式的配置或造型。
  • 優勢:只要您知道如何編寫和優化SQL,效率會更高。開始時速度更快,並且如有必要,更容易進一步優化。
  • 需要:多個SQL知識(不壞有反正)
  • 需要:有點基礎設施/工具以減少重複編碼
  • 論點贊成:如果你是好使用sql,有一個很好的數據訪問工具,並且只要將數據立即放到其他地方,就沒有什麼關於Linq-to-SQL的信息了。

使用LINQ到SQL

  • 優勢:可以很容易讀懂/理解,即使在有限LINQ經驗。
  • 優勢:可以快速給你強大的類型,你可以立即使用。
  • 優勢:在編譯時或編譯時,您會在Visual Studio中更頻繁地發現錯誤。用簡單的舊式ado,你可以在運行時發現你的錯誤。
  • 需要:建立架構
  • 需要:LINQ的知識(您想擁有反正)有利於
  • 說法:很多人發現,LINQ的性能損失並不大,並不會成爲一個問題。此外,sql linq的出現有時會比你想要的好,即使你喜歡自己的sql專業版。 (Stackoverflow是一個大網站,它是Linq-to-sql seems to hold up just fine。)

總之,兩者都是很不錯的選擇。關鍵因素是:

  1. 技能:如果你在強SQL (和代碼生成),較少有 理由使用LINQ到SQL。
  2. 分貝負荷挑戰:如果你沒有做 共享一個微不足道的數據庫服務器的一些 其他的解決方案,你也不會 巨大,LINQ到SQL是很多強大 不夠。

擅長SQL將很重要。而且,擅長LINQ是一個非常好的舉措。 Linq-to-XML和Linq-to-Objects是絕妙的技術,具有一種風味的技能可直接轉換爲其他Linq風味。

1

對我來說,最大的好處是你可以免費獲得數據庫的體面對象模型,而不必編寫多餘的「使對象看起來像這張表」的代碼,甚至更冗餘「填充此對象數據「代碼。

它不完美,但它確實節省了很多時間。

相關問題