并排比较

下表对 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。