前言sql
Entity Framework Core (EF Core)是微軟推薦的基於.NET Core framework的應用程序數據訪問技術。它是輕量級,可擴展而且支持跨平臺開發。EF Core是一種對象關係映射器(ORM)。經過應用程序實體對象和關係數據庫中的數據的映射,使得開發人員可以以面向對象的方式處理數據。數據庫
爲何使用ORMjson
大多數開發框架都包含庫,這些庫容許經過相似記錄集的數據結構訪問關係數據庫中的數據。下面的代碼示例演示了一個典型的場景,即數據從數據庫中檢索並存儲在ADO.NET DataTable中,以便程序的代碼能夠訪問該數據:服務器
using (var conn = new SqlConnection(connectionString)) using (var cmd = new SqlCommand("select * from Products", conn)) { var dt = new DataTable(); using (var da = new SqlDataAdapter(cmd)) { da.Fill(dt); } }
DataTable中的數據能夠經過數字或字符串索引器訪問將對象轉換爲正確的類型:數據結構
foreach(DataRow row in dt.Rows) { int productId = Convert.ToInt32(row[0]); string productName = row["ProductName"].ToString(); }
這種後綁定或「弱類型」的數據訪問方法很容易出錯。常常會出現錯誤的輸入列的名稱,或者發現列名在數據庫中已經被更改了,或者更改SQL語句中指定字段的順序,而沒有對應用程序代碼進行相應的更改等問題,最後數據類型轉換失敗,代碼仍然能夠編譯,但在運行時會出錯。所以,專業開發人員更喜歡以強類型的方式處理數據。框架
強類型:工具
當您對數據採用強類型方法時,您將使用預約義類的屬性,這些類以面向對象的方式造成模型(Model會在後續章節中專門作說明):sqlserver
public class Product { public int ProductId { get; set; } public string ProductName { get; set; } }
Product myProduct = new Product(); int productId = myProduct.ProductId; string productName = myProduct.ProductName;
要從數據庫中檢索數據並將其映射到域對象的實例,還須要作一些工做。一種選擇是編寫本身的代碼來管理它,然而隨着模型的增加,代碼量會愈來愈大,意味着咱們將須要愈來愈多的開發時間去維護。這將增長完成項目的總時間。ui
ORM是預先編寫的代碼庫,功能齊全的ORM能夠作不少事情:spa
如何獲取Entity Framework Core
EF CORE是 Nuget 包,能夠根據項目類型和可用的工具以多種方式添加到項目中:下面介紹3中方式Visual Studio包管理器,包管理器控制檯(Package Manager Console),命令行工具(Command Line Tools)
Visual Studio包管理器:
Visual Studio的用戶能夠經過包管理工具選項之一安裝 EF CORE,而不用管其項目類型(.NET Core or the full .NET Framework),NuGet包管理器界面或包管理器控制檯。
NuGet包管理器(Nuget Package Manager)
1.打開Visual Studio>> Tools >> NuGet Package Manager >> Manage NuGet Packages For Solution
2.選中"瀏覽(Browse)",並在搜索框中鍵入「entityframeworkcore」。
3.選中要安裝的程序,這裏選擇SQL SERVER
4.選擇你想要安裝EF CORE的項目,而後點擊安裝(Install)
5.查看即將對項目進行的更改(除非您以前已經勾選了框以防止出現此對話框)
6.最後,接受與將要安裝的包相關聯的各類許可證的條款
1.打開Visual Studio>> Tools >> NuGet Package Manager >> Package Manager Console
2.確保在「默認項目(Default project)」下拉菜單中選擇正確的項目,並鍵入install-package microsoft.entityframeworkcore.sqlserver來安裝SQL服務器提供程序,點擊回車鍵安裝便可
命令行工具(Command Line Tools)
首先建立一個項目,命令行到 包含.csproj (或者 project.json)的文件夾以後,執行命令dotnet add package Microsoft.EntityFrameworkCore.SqlServer也可安裝EF CORE,假設我新建的項目在E盤的文件夾下:
若是你想用EF Core工具去遷移或者搭建,還須要執行如下命令
dotnet add package Microsoft.EntityFrameworkCore.Tools --version 1.1.0-msbuild3-final
原文連接:https://www.learnentityframeworkcore.com/efcore/how-to-get