Entity Framework 怎样工作的?
这里,你将了解 Entity Framework工作的大概。
Entity Framework API (EF6 & EF Core) 包含把域(entity)类映射到数据库架构,把 LINQ 查询转变成SQL并且执行,在它们的声明周期中跟踪实体的改变,并且保存改变到数据库的能力。
Entity Data Model:
EF API 第一步是创建一个 Entity Data Model (EDM)。EDM 是整个元数据在内存中表示:概念模型,存储模型和他们之间的映射。
概念模型(Conceptual Model): EF从域类(domain classes),上下文类(context class),域类遵循的约定,和配置创建概念模型。
存储模型(Storage Model): EF为底层数据库架构创建存储模型。在 code-first 方法中,这个模型将从概念模型中推断出来。在 database-first 中,这个模型将从目标数据库中推断出来。
映射(Mappings): EF包含映射信息,指明概念模型是怎样映射到数据库架构(storage model)的。
查询:
EF API 使用 EDM 针对关系型把 LINQ-to-Entities 查询转换成 SQL 查询,并且把结果转换到实体对象中。
保存:
当SaveChanges()
方法被调用时,EF API 根据实体的状态推断出 INSERT, UPDATE, and DELETE 命令。包当一个动作被执行时,ChangeTrack 保持对每一个实体状态的跟踪。