-
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。