asp.net core 系列 19 EFCore介紹


一.概述

  目前最新的EF Core版本是3.0,最穩定的EF Core版本是2.2。EF Core 的計划與 .NET Core以及 ASP.NET Core 版本同步。EF Core 是一個 .NET Standard庫,使用 EF Core 開發面向 .NET Core 的應用。生成 .NET Core 應用需要安裝 .NET Core SDK。最后,不同的EF 數據庫提供程序使用可能需要 特定的數據庫引擎版本、.NET 實現或操作系統。 請確保可用的 EF Core 數據庫提供程序支持適用於應用程序的環境。

  

  1.1 比較 EF Core 和 EF6

    Entity Framework 6 (EF6) 是一種久經驗證的數據訪問技術。 2008 年首次發布。 EF6 在 .NET Framework 4.x 上運行,這意味着它僅在 Windows 上運行。未來EF6 產品仍受支持,並將繼續提供 bug 修復和細微改進。

               Entity Framework Core (EF Core) 是在 2016 年首次發布的 EF6 的完全重寫。 它附帶於 Nuget 包中,是 Microsoft.EntityFrameworkCore 的主要組成部分。EF Core 是一種跨平台產品,可以在 .NET Core 或 .NET Framework 上運行。EF Core 旨在提供類似於 EF6 的開發人員體驗。 大多數頂級 API 保持不變,因此,用過 EF6 的開發人員都會對 EF Core 感到很熟悉。

    關於EF6與EF Core的功能比較,查看官方文檔: https://docs.microsoft.com/zh-cn/ef/efcore-and-ef6/#feature-comparison

 

  1.2 EF Core數據庫提供程序

    Entity Framework Core 可通過數據庫提供程序的插件庫訪問許多不同的數據庫。EF Core 提供程序由多種源生成。 並非所有提供程序均作為 Entity Framework Core 項目的組成部分進行維護(Microsoft供應商提供),這里只列出幾個常用的數據庫提供程序:

NuGet 程序包

支持的數據庫引擎

維護商/供應商

Microsoft.EntityFrameworkCore.SqlServer

SQL Server 2008 及以上版本

EF Core 項目 (Microsoft)

Pomelo.EntityFrameworkCore.MySql

MySQL、MariaDB

Pomelo Foundation 項目

Pomelo.EntityFrameworkCore.MyCat

MyCAT 服務器

Pomelo Foundation 項目

MySql.Data.EntityFrameworkCore

MySQL

MySQL 項目 (Oracle)

Devart.Data.Oracle.EFCore

Oracle 9.2.0.4 及以上版本

DevArt

Devart.Data.MySql.EFCore

MySQL 5 及以上版本

DevArt

   關於EF Core數據庫提供程序,查看官方文檔  https://docs.microsoft.com/zh-cn/ef/core/providers/index#current-providers

 

  1.3 應用程序添加數據庫提供程序

     EF Core 的大多數數據庫提供程序都是作為 NuGet 包分發的。這意味着可使用命令行中的 dotnet 工具來安裝它們(先安裝.NET Core SDK),或者在 Visual Studio 中,使用 NuGet 包管理器控制台:

    dotnet add package provider_package_name
    -- NuGet
    install-package provider_package_name

    例如:在vs中使用NuGet安裝數據庫提供程序Microsoft.EntityFrameworkCore.SqlServer,如下所示:

    Install-Package Microsoft.EntityFrameworkCore.SqlServer

    若要更新提供程序,使用 Update-Package 命令。若要指定特定版本,可以使用 -Version 修飾符。 例如,若要安裝 EF Core 2.2.0 包,請將 -Version 2.2.0 追加到命令中。

  -- 例如: 更新到指定版本的Package
    PM> update-package Microsoft.EntityFrameworkCore.SqlServer -Pre -Version 3.0.0-preview.18572.1    

 

  1.4 獲取 Entity Framework Core 工具

  要安裝Entity Framework Core除了在Visual Studio中(下篇介紹),還可以使用 “.NET Core 命令行接口(CLI)” 工具可用於 Windows、Linux 或 macOS。 這些命令以 dotnet ef 開頭。這些命令是對跨平台擴展dotnet命令,它是一部分的.NET Core SDK。 這些工具適用於.NET Core 項目。

    首先安裝最新.NET Core SDK,下載安裝可以選擇操作系統類型(Windows、Linux 或 macOS)。dotnet ef命令包含在.NET Core SDK,但若要啟用這些命令必須安裝Microsoft.EntityFrameworkCore.Design

    dotnet add package Microsoft.EntityFrameworkCore.Design

    驗證安裝:運行以下命令以驗證正確安裝 EF Core CLI 工具,下圖是在windows系統中:

    關於.Net CLI工具,查看官方文檔 https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/cli/dotnet

      關於.NET Core SDK安裝地址:  https://dotnet.microsoft.com/download

 

其它參考文獻:

  關於程序包管理器控制台

    https://docs.microsoft.com/zh-cn/nuget/tools/package-manager-console

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM