浏览器标题切换
浏览器标题切换end

Intern Day7 - Entity Framework Core DbContext

DbContext概念解释

  • DbContext是EF中的一个类(数据库(db=database)上下文类),可以当做是一个数据库对象的实例, DbContext实例代表与数据库的会话,可用于查询实体实例并将其保存到数据库。

  • 在EF中,可以通过DbContext对数据库进行增删改查等操作(属于EF里面的用法),后面加.表名可以得到表的数据。

  • Context翻译:上下文。我们可以将上下文看作相关“事物”的包装,例如 HttpContext(包含任何HTTP相关操作的信息), DbContext(包含用于数据库通信的方法和属性官方文档)。Context可以简单理解为特定一个类或多个类的封装。

  • DbSet表示可用于增删改查操作的实体集。

DbContext作用

DbContext是实体类和数据库之间的桥梁,DbContext主要负责与数据交互,主要作用是:

  1. DbContext包含所有的实体映射到数据库表的实体集(DbSet < TEntity >)。

  2. DbContext 将LINQ-to-Entities查询转换为SQL查询并将其发送到数据库。

  3. 更改跟踪: 它跟踪每个实体从数据库中查询出来后发生的修改变化。

  4. 持久化数据: 它也基于实体状态执行插入、更新和删除操作到数据库中。

DbContext使用

(包括下面的方法也要看)
创建数据库,我们需要:

  1. 定义应用的DbContext,这个可以通过创建一个类并让它继承自EF Core 的DbContext来实现。
  2. 每次要访问数据库时,都要创建该类的实例。

DbContext方法

只记录目前用到过的。

|Method |Usage |
| ---- | ---- | ---- |
| Add | 将一个新实体添加到具有添加状态的DbContext中,并开始对其进行跟踪。调用SaveChanges()时,会将新的实体数据插入数据库。 |
| AddAsync |用于向状态为“已添加”的DbContext添加新实体并开始对其进行跟踪的异步方法。调用SaveChangesAsync()时,会将新的实体数据插入数据库。 |
| Set |Set创建一个DbSet ,可用于查询和保存TEntity的实例 |
| SavaChange | 对已添加/修改/删除状态的实体的数据库执行INSERT/UPDATE/DELETE命令
| SaveChangesAsync | SaveChanges()的异步方法

DbContext的使用

详情见官方文档:https://docs.microsoft.com/zh-cn/ef/ef6/fundamentals/working-with-dbcontext

posted @   抓水母的派大星  阅读(81)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示