Entity Framework (EF) Core 是輕量化、可延伸、開源和跨平臺版的常用 Entity Framework 資料存取技術。
1、對於 EF Core,使用模型執行資料存取。 模型由實體類和表示資料庫對談的上下文物件構成。 上下文物件允許查詢並儲存資料。
2、EF 支援以下模型開發方法:
1、Entity Framework Core (EF Core) 以 NuGet 包的形式提供。 應用程式所需的包取決於:
2、安裝包的常規過程是:
3、總言之,要將 EF Core 新增到應用程式,請安裝適用於要使用的資料庫提供程式的 NuGet 包。
4、注意事項:
1、EF Core 通過使用「資料庫提供程式」支援不同的資料庫系統。 每個系統都有自己的資料庫提供程式,而提供程式以 NuGet 包的形式提供。 應用程式應安裝其中一個或多個提供程式包。
2、下表列出了常見的資料庫提供程式。
資料庫系統 | 包 |
---|---|
SQL Server 和 SQL Azure | Microsoft.EntityFrameworkCore.SqlServer |
SQLite | Microsoft.EntityFrameworkCore.Sqlite |
Azure Cosmos DB | Microsoft.EntityFrameworkCore.Cosmos |
PostgreSQL | Npgsql.EntityFrameworkCore.PostgreSQL |
MySQL | Pomelo.EntityFrameworkCore.MySql |
EF Core 記憶體中資料庫 | Microsoft.EntityFrameworkCore.InMemory |
Microsoft 和第三方以 NuGet 包的形式釋出了許多 EF Core 擴充套件。 常用包包括:
功能 | 包 | 附加依賴項 |
---|---|---|
用於延遲載入和更改跟蹤的代理 | Microsoft.EntityFrameworkCore.Proxies | Castle.Core |
對 SQL Server 的空間支援 | Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite | NetTopologySuite 和 NetTopologySuite.IO.SqlServerBytes |
對 SQLite 的空間支援 | Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite | NetTopologySuite 和 NetTopologySuite.IO.SpatiaLite |
對 PostgreSQL 的空間支援 | Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite | NetTopologySuite 和 NetTopologySuite.IO.PostGIS(通過 Npgsql.NetTopologySuite) |
對 MySQL 的空間支援 | Pomelo.EntityFrameworkCore.MySql.NetTopologySuite | NetTopologySuite |
其他 EF Core 包作為資料庫提供程式包的依賴項進行拉取。 但是,建議為這些包新增顯式包參照,這樣 NuGet 在釋出新版本時會提供通知。
功能 | 包 |
---|---|
EF Core 基本功能 | Microsoft.EntityFrameworkCore |
通用關聯式資料庫功能 | Microsoft.EntityFrameworkCore.Relational |
用於 EF Core 特性等的輕型包。 | Microsoft.EntityFrameworkCore.Abstractions |
EF Core 使用情況的 Roslyn 程式碼分析器 | Microsoft.EntityFrameworkCore.Analyzers |
沒有原生 SQLite 依賴項的 EF Core SQLite 提供程式 | Microsoft.EntityFrameworkCore.Sqlite.Core |
Release | 目標 Framework | 支援截止時間 |
---|---|---|
EF Core 6.0 | .NET 6 | 2024 年 11 月 8 日 (LTS) |
.NET Standard 2.1 | 2022 年 5 月 10 日過期 | |
EF Core 3.1 | .NET Standard 2.0 | 2022 年 12 月 3 日 (LTS) |
.NET Standard 2.1 | 2020 年 3 月 3 日過期 | |
.NET Standard 2.0 | 過期時間:2019 年 12 月 23 日 | |
.NET Standard 2.0 | 過期時間:2021 年 8 月 21 日* | |
.NET Standard 2.0 | 過期時間:2018 年 10 月 1 日 | |
.NET Standard 1.3 | 過期時間:2019 年 6 月 27 日 | |
.NET Standard 1.3 | 過期時間:2019 年 6 月 27 日 |
下表提供了每個 .NET 實現的指南:
EF Core | 3.1 | 5.0 | 6.0 |
---|---|---|---|
.NET & .NET Core | 3.1 | 5.0 | 6.0 |
.NET Standard | 2.0 | 2.1 | |
.NET Framework | 4.7.2 | ||
Mono | 5.4 | 6.4 | |
Xamarin.iOS | 10.14 | 12.16 | (使用 .NET 6) |
Xamarin.Mac | 3.8 | 5.16 | (使用 .NET 6) |
Xamarin.Android | 8.0 | 10.0 | (使用 .NET 6) |
UWP | 10.0.16299 | (使用Windows 應用 SDK) | |
Unity | 2018 年 1 月 | 2021.2 | TBD |
Tizen | 4.0 | 6.0 | (使用 .NET 6) |
----------------------------------------------本篇文章到此結束-------------------------------------------