-
StackOverflow 文件
-
Entity Framework Core 教程
-
EF Core 與 EF6.x
-
並排比較
下表對 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。