zoukankan      html  css  js  c++  java
  • 3.翻译:EF基础系列--EF怎么工作的?

              原文链接:http://www.entityframeworktutorial.net/basics/how-entity-framework-works.aspx

    这里,你将会大概了解到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官方文档:  https://docs.microsoft.com/zh-cn/ef/ef6/

    EF Core官方文档:https://docs.microsoft.com/zh-cn/ef/core/

  • 相关阅读:
    SessionAttributes注解
    数据格式化
    数据类型转换器
    线程的常用方法总结
    线程生命周期
    分析配置DispatcherServlet类时load-on-startup标签作用
    springMVC的执行请求过程
    MyBatis之动态SQL
    MyBatis实现
    Spring框架中的JDK与CGLib动态代理
  • 原文地址:https://www.cnblogs.com/caofangsheng/p/10589040.html
Copyright © 2011-2022 走看看