Intern Day7 - Entity Framework Core DbContext
DbContext概念解释
-
DbContext是EF中的一个类(数据库(db=database)上下文类),可以当做是一个数据库对象的实例, DbContext实例代表与数据库的会话,可用于查询实体实例并将其保存到数据库。
-
在EF中,可以通过DbContext对数据库进行增删改查等操作(属于EF里面的用法),后面加.表名可以得到表的数据。
-
Context翻译:上下文。我们可以将上下文看作相关“事物”的包装,例如 HttpContext(包含任何HTTP相关操作的信息), DbContext(包含用于数据库通信的方法和属性官方文档)。Context可以简单理解为特定一个类或多个类的封装。
-
DbSet表示可用于增删改查操作的实体集。
DbContext作用
DbContext是实体类和数据库之间的桥梁,DbContext主要负责与数据交互,主要作用是:
-
DbContext包含所有的实体映射到数据库表的实体集(DbSet < TEntity >)。
-
DbContext 将LINQ-to-Entities查询转换为SQL查询并将其发送到数据库。
-
更改跟踪: 它跟踪每个实体从数据库中查询出来后发生的修改变化。
-
持久化数据: 它也基于实体状态执行插入、更新和删除操作到数据库中。
DbContext使用
(包括下面的方法也要看)
创建数据库,我们需要:
- 定义应用的DbContext,这个可以通过创建一个类并让它继承自EF Core 的DbContext来实现。
- 每次要访问数据库时,都要创建该类的实例。
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」