首页
学习
活动
专区
圈层
工具
发布

Entity Framework Core 简介

今天来讲解一下 .NET 中的重要成员 Entity Framework Core。Entity Framework Core (以下简称 EF Core),是 EF6 之后微软推出的开源的轻量级可扩展跨平台 ORM 框架。 EF Core 需要和 .NET Core 应用程序一起使用,并且需要 .NET 4.5+ 版本。下面列举一下 EF Core 所支持的项目类型:

  • 运行在 .NET Core 平台上的 Asp.Net Core MVC/Web Api、Console、etc ;
  • 运行在 .NET 4.5+ 版本上的 ASP.NET MVC/Web Api 、WinForm、Console、WinForm、WPF ;
  • UWP 平台相关的应用 ;
  • 安卓、IOS、Windows 移动平台上运行的应用。

零、EF Core 开发方法

EF Core 只支持两种开发方式 Code First 和 Database First,在 EF Core 2.0 开始不支持数据库模型的可视化设计器以及数据库设计导航。在 Code First 方法中, EF Core API 使用基于 domain classes 中提供的约定和配置的迁移来创建数据库和表,这种方法在 DDD 中很有用。如果你习惯于 Database First ,那么你可以使用 EF Core 命令基于现有的数据库创建 domain classes 和上下文类,但是这种方法支持有限,因为 EF Core 2+ 版本 不再支持可视化设计器和设计导航。

一、EF Core 与 EF6

这里列一下 EF Core 目前所具有的 EF6 的功能

  1. DbContext ;
  2. DbSet ;
  3. Data Model ;
  4. 使用Linq-to-Entities查询 ;
  5. 变更跟踪 ;
  6. 保存更改 ;
  7. 迁移 。

以下是 EF Core 目前所不具有的 EF6 的功能

  1. EDMX /模型的图形可视化 ;
  2. 实体数据模型向导 ;
  3. ObjectContext API ;
  4. 使用Entity SQL查询 ;
  5. 自动迁移 ;
  6. TPT ;
  7. TPC ;
  8. 多对多关系 ;
  9. Entity Splitting ;
  10. Spatial Data ;
  11. 延迟加载 ;
  12. 使用DbContext进行存储过程映射以进行CUD操作 ;
  13. 种子数据 ;
  14. 自动迁移 。

EF Core 具有如下新功能

  1. 简单的关系配置
  2. 批量INSERT,UPDATE和DELETE操作
  3. 用于测试的内存提供程序
  4. 支持IoC(控制反转)
  5. 独特的约束
  6. 阴影属性
  7. Alternate keys
  8. 全局查询过滤器
  9. Field mapping
  10. DbContext池
  11. 用于处理断开的实体图的更好模式
下一篇
举报
领券