EF Core是什么
EF Core 是一个 O/RM(Object Relational Mapping)对象关系映射 框架,它也提供了对数据增删改查的基础封装,提供了Code First 的开发,它也有批量增删的功能扩展;
EF特征
支持多种数据库 MSSQL ,MySQL,SQLite,InMemory
支持数据库的逆向工程,可以先建立模型也可以先建立数据库
更改模型后可以使用迁移来更新数据库架构
轻量级的, 开源的, 可扩展的,支持跨平台的
使用简易,使用的人多,能够提高生产效率
可以使用Linq
注重领域,而不是数据库
EF Core VS EF6
相同点
DBContext&DBSet
Data Model
Querying using Linq-to-Entities
Change Tracking
SaveChanges
Migrations
EF6 独有 (表示怀疑)
EDMX/ Graphical Visualization of Model
Entity Data Model Wizard (for DB-First approach)
ObjectContext API
Querying using Entity SQL.
Automated Migration
Inheritance: Table per type (TPT)
Inheritance: Table per concrete class (TPC)
Many-to-Many without join entity
Entity Splitting
Spatial Data
Lazy loading of related data
Stored procedure mapping with DbContext for CUD operation
Seed data 这个现在有了啊??
Automatic migration
EF Core独有
Easy relationship configuration 简易的关系配置
Batch INSERT, UPDATE, and DELETE operations 批量操作
In-memory provider for testing 不干扰测试数据库
Support for IoC (Inversion of Control) 支持依赖控制
Unique constraints 唯一键的约束
Shadow properties 影子属性
Alternate keys 备用键
Global query filter 全局查询过滤
Field mapping 字段映射
DbContext pooling DbContext池
Better patterns for handling disconnected entity graphs 更好的方式处理断开实体图