Entity Framework是 ORM
ORM 对象关系映射(object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.简单的说.ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中.
O:Domain Object 领域模型
R:Relational Database 关系型数据库
M: Mapping 映射关系
EF CRUD操作:
- 定义模型:这是EF工作的前提,定义模型包括定义领域类(Domain Class),派生自DbContext的上下类和Configuration(如果有的话).EF将通过模型执行CRUD操作.
- 添加数据:将领域对象添加到上下文并调用SaveChanges()方法,EF API将构建适当的INSERT命令并将其执行到数据库
- 读取数据:执行LINQ-to-Entities查询,EF API会将此查询转换为底层关系数据库的SQL查询并执行,然后将结果转换为实体对象并显示在UI上.
- 编辑或删除数据: 从上下文更新或删除实体对象并调用该SaveChanges()方法.EF API将构建适当的UPDATE或DELETE命令并执行;
EF API(EF6和EF Core)包括几个功能:1.将领域类映射到数据库,2.将LINQ查询转换为SQL并执行,3跟踪实体在其生命周期内发生的更改,并将这些更改保存到数据库.
EDM 实体数据模型(Entity Data Model)
EDM是一个可时化的工具,用来生成 O,R,M
EF API的首要任务是构建实体数据模型(EDM).EDM是整个元数据的内存表示,包含:概念模型,存储模型以及它们之间的映射
概念模型:EF通过领域类,上下文类,默认约定和配置构建概念模型
存储模型:EF为底层数据库架构构建存储模型.在代码优先方法中,根据概念模型进行推断来构建.在数据库优先模式中,根据目标数据库进行推断来构建
映射:EF包括映射信息,表示概念模型是如何映射到数据库架构(存储模型)