Asp.net

2016 年我應該為 .Net 使用哪個 ORM 來與 SQL 伺服器通信?

  • April 27, 2018

我的大部分伺服器端經驗都是使用 nodeJS 流星或 rails 的,所以我還沒有豐富的 .Net 知識。在 Rails 中,它很容易選擇 ORM,因為 ActiveRecord 是鎮上唯一的遊戲,或者看起來如此。我的方法通常是查詢你可以使用 ORM 的所有內容,如果你不能將它拉下來,然後下拉到原始 SQL。

但是,我正在嘗試閱讀有關在 .Net 4.5 或更新的應用程序中查詢我的數據庫的教程和課程,但我對未來的方式感到困惑。我在下面看到教程

  • Linq Lambda 語法
  • Linq 查詢語法
  • 實體框架

**現代 .net 應用程序的建議 ORM 是什麼?**似乎我可以在上述所有內容中進行基本的 CRUD 操作。但是會更適合跨表連接嗎?請注意,我只打算針對我的 .net 解決方案查詢 Microsoft SQL 伺服器數據庫。

真正讓我感到困惑的是閱讀 EF 取代了 linq,但隨後閱讀 EF 也使用了 linq。因此,當我看到一個範例說選擇所有列時,我不知道我使用的是過去還是未來的語法。也只是看程式碼,我不知道它是 linq 還是 EF。我可以判斷它是查詢還是 lambda 語法。

您提到的選項並非都是 ORM,在這 3 中唯一的 ORM 是 EF。.net 中還有其他流行的 ORM,包括:

  • 休眠
  • LLBLGen pro
  • 活動記錄

他們中的大多數都支持 LINQ。EntityFramework 是較年輕的一個,但它與 VS 集成並且開箱即用,使其成為 .net 中最流行的 ORM,它取代了 LINQ to Entities 而不是 LINQ 本身。msdn 中定義的 LINQ(語言集成查詢)可用於不同的數據源。

LINQ 是一組將強大的查詢功能擴展到 C# 語言語法的功能。LINQ 引入了用於查詢和更新數據的標準、易於學習的模式,並且該技術可以擴展以支持潛在的任何類型的數據儲存。.NET Framework 包括 LINQ 提供程序程序集,可以將 LINQ 與 .NET Framework 集合、SQL Server 數據庫、ADO.NET 數據集和 XML 文件一起使用。

使用 LINQ 有兩種不同的語法,通常稱為 Fluent 語法和 Query 語法。

如果您提到的.net 新手,我建議使用語法流暢的 EF,這將是開始在.net 中查詢數據庫的最快方法。

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