並排比較

下表對 EF Core 和 EF6.x 中可用的功能(1)進行了比較。

它旨在提供高階別比較,並未列出每個功能,或嘗試詳細說明相同功能的工作方式之間可能存在的差異。

建立模型 EF6.x EF Core 1.0.0
基本建模(類,屬性等)
約定
自定義約定 區域性
資料註釋
流暢的 API
繼承:每個層次結構的表(TPH)
繼承:每種型別的表(TPT)
繼承:每個具體類的表(TPC)
陰影狀態屬性
備用鍵
多對多:使用 join 實體
多對多:沒有連線實體
金鑰生成:資料庫
金鑰生成:客戶端
複雜/價值型別
空間資料
模型的圖形視覺化
圖形拖放編輯器
型號格式:程式碼
型號格式:EDMX(XML)
從資料庫反向工程模型:命令列
從資料庫反向工程模型:VS 嚮導
資料庫中的增量更新模型
查詢資料 EF6.x EF Core 1.0.0
LINQ:簡單的查詢 穩定 穩定
LINQ:中等查詢 穩定 穩定
LINQ:複雜的查詢 穩定 進行中
LINQ:使用導航屬性查詢 穩定 進行中
漂亮的 SQL 生成 較差的
混合客戶端/伺服器評估
載入相關資料:渴望
載入相關資料:懶惰
載入相關資料:明確
原始 SQL 查詢:模型型別
原始 SQL 查詢:未對映的型別
原始 SQL 查詢:使用 LINQ 進行編寫
儲存資料 EF6.x EF Core 1.0.0
儲存更改
更改跟蹤:快照
更改跟蹤:通知
訪問跟蹤狀態 區域性
樂觀併發
交易
批量陳述
儲存過程
分離圖支援(N-Tier):低階 API 較差的
分離圖支援(N-Tier):端到端 較差的
其他特性 EF6.x EF Core 1.0.0
遷移
資料庫建立/刪除 API
種子資料
連線彈性
生命週期鉤子(事件,命令攔截,……)
資料庫提供商 EF6.x EF Core 1.0.0
SQL Server
MySQL 只付,未支付即將到來(2)
PostgreSQL
Oracle 只付,未支付即將到來(2)
SQLite
SQL Compact
DB2
InMemory (for testing)
Azure Table Storage 原型
Redis 原型
應用模型 EF6.x EF Core 1.0.0
WinForms
WPF
Console
ASP.NET
ASP.NET Core
Xamarin 即將推出(3)
UWP

腳註:

(1):截至 2016/10/18

(2):付費提供商可用,未付費的提供商正在進行中。從事無償提供者工作的團隊尚未分享時間表等的公開細節。

(3):當在 Xamarin 中啟用對 .NET Standard 的支援時,EF Core 可用於 Xamarin。