Entity Framework入门教程(2)---EF工做流程

EF工做流程

1.EF基本CRUD流程

下边的图就能够很清晰地展现EF的CRUD操做的基本工做流程:html

这里作一个EF CRUD操做的简单总结:
1.定义模型:这是EF工做的前提,定义模型包括定义领域类(Domain Classes),派生自DbContext的上下文类Configuration(若是有的话)。EF将经过模型来执行CRUD操做。
2.添加数据:将领域对象添加到上下文并调用SaveChanges()方法。EF API将构建适当的INSERT命令并将其执行到数据库。
3.读取数据:执行LINQ-to-Entities查询。EF API会将此查询转换为底层关系数据库的SQL查询并执行,而后将结果转换为实体对象并显示在UI上。
4.编辑或删除数据:从上下文更新或删除实体对象并调用该SaveChanges()方法。EF API将构建适当的UPDATE或DELETE命令并执行。数据库

2.EF的工做过程简析

这里将展现EF工做的基本过程
EF API(EF6和EF Core)包括几个功能:①将领域类映射到数据库,②将LINQ查询转换为SQL并执行,③跟踪实体在其生命周期内发生的更改,并将这些更改保存到数据库。架构

实体数据模型(Entity Data Model)

EF API的首要任务是构建实体数据模型(EDM)。EDM是整个元数据的内存表示,包含:概念模型,存储模型以及它们之间的映射post

 

概念模型: EF经过领域类,上下文类,默认约定和配置构建概念模型。htm

存储模型: EF为底层数据库架构构建存储模型。在代码优先方法中,根据概念模型进行推断来构建。在数据库优先模式中,根据目标数据库进行推断来构建。对象

映射: EF包括的映射信息,表示概念模型是如何映射到数据库架构(存储模型)。blog

查询

EF API使用EDM将LINQ-to-Entities查询转换为SQL查询,并将结果转换回实体对象。教程

 

保存

EF API在调用SaveChanges()方法时根据实体的状态推断INSERT,UPDATE和DELETE命令。ChangeTrack会在执行操做时跟踪每一个实体的状态。生命周期

 

EF系列目录连接:Entity Franmework系列教程汇总内存