zoukankan      html  css  js  c++  java
  • Entity Framework Core系列之DbContext

    前言:

    EF Core DbContext表示与数据库的会话,并提供与数据库通信的API,具有以下功能:

    • 数据库连接
    • 数据操作,如查询和持久化
    • 更改追踪
    • 模型构建
    • 数据映射
    • 对象缓存
    • 事务管理

    数据库连接(Database Connections)

    DbContext负责打开和管理数据库的连接

    数据操作(Data operations )

    DbContext提供了直接执行下列数据操作的方法:

    增加(Entity Framework Core系列之DbContext(添加))

    修改(Entity Framework Core系列之DbContext(修改))

    删除

    查询(通过DbSet)

    变更追踪(Change Tracking)

    更改跟踪器(Change Tracker)检测对实体所做的更改,并相应地设置对象的实体状态。实体的状态决定了数据库将被要求在其上执行的操作类型,这样将会生成对应的SQL。

    模型构建(Model building)

    DbContext构建基于约定和配置的概念模型,并将其映射到数据库。该模型及其映射是在应用程序启动时构建的,并在应用程序的生命周期内持久保存。

    数据映射(Data Mapping)

    DbContext包含一个数据映射器层(data mapper layer),负责将SQL查询的结果映射到实体实例和客户端应用程序定义的其他类型

    对象缓存(Object caching)

    DbContext为被请求从数据存储中检索的对象提供一级缓存。对同一对象的后续请求将返回缓存的对象,而不是执行另一个数据库请求。

    事务管理(Transaction management)

    当调用DbContext SaveChanges方法时,将创建一个事务,并将所有挂起的更改包装为一个工作单元( Unit Of Work)。如果在将更改应用到数据库时发生错误,则回滚它们,并将数据库保留在未修改的条件中。

    此文章只是一些概念的介绍,具体内容会在其他系列文章中完善。

  • 相关阅读:
    python列表(包含列表方法)
    python数据类型和运算符
    python计算机初识
    python运行过程,变量,符号
    python·if语句
    python`while循环
    <select></select> php表单怎么传值
    thinkPhp3 空操作
    thinkphp3.1和3.2的<模板替换>的区别
    thinkphp3 空操作 如果为空会怎么样 empty name=""
  • 原文地址:https://www.cnblogs.com/yixuanhan/p/9267305.html
Copyright © 2011-2022 走看看