3.翻译:EF基础系列--EF怎么工作的?
原文链接:
这里,你将会大概了解到ef是怎么工作的。
entity framework api(ef 6和ef core),可以将领域类映射到数据库中、将linq 语句转化为sql、在实体整个生命周期内,跟踪实体的改变,并且保存改变到数据库中。
实体数据模型(entity data model)
ef api 的首要任务就是构建实体数据模型。实体数据模型是整个元数据的在内存中的呈现:概念模型(conceptual model)、存储模型(storage model)以及两者之间的映射。
conceptual model(概念模型):ef从领域类中生成概念模型、上下文类、领域类中默认的约定以及其他配置。
storage model(存储模型):ef 根据数据库生成存储模型。在code-first方式中,这个会从概念模型上推断出来。在db-first方式中,这个会从目标数据库中推断出来。
mapping(映射):ef包含概念模型怎么转化到数据库(存储模型)中的映射信息。
ef使用实体数据模型(edm)来进行增删查改操作、使用edm来从linq查询中生成sql、生成增删查改的指令,然后把数据库返回的结果,转化到实体对象中。
querying【查询】
ef api使用edm将 linq-to-entities的查询语句转化为sql语句,发送数据库执行,然后同样将数据库返回的结果转化到实体对象中。
saving【保存】
当savechanges方法被调用的时候,ef api基于实体的状态,推断是执行增删查改的哪个操作。只要savachanges方法被执行了,变更追踪特性就会保持追踪每个实体的状态。
好了,ef的继续系列,第三篇就介绍完了。有不明白的可以留言,谢谢支持。
附录:
ef 6官方文档:
ef core官方文档:
推荐阅读
-
3.翻译:EF基础系列--EF怎么工作的?
-
1.翻译:EF基础系列--什么是Entity Framework?
-
3.翻译:EF基础系列--EF怎么工作的?
-
5.翻译系列:EF 6中数据库的初始化(EF 6 Code-First 系列)
-
1.翻译:EF基础系列--什么是Entity Framework?
-
4.翻译:EF基础系列--EF架构
-
6.翻译:EF基础系列---什么是EF中的实体?
-
11.翻译系列:在EF 6中配置一对零或者一对一的关系【EF 6 Code-First系列】
-
9.翻译:EF基础系列---使用EF开发的方式有哪些?
-
9.翻译系列:EF 6以及EF Core中的数据注解特性(EF 6 Code-First系列)