------------恢复内容开始------------
EF中的上下文(DbContext)简介
DbContext是实体类和数据库之间的桥梁,DbContext主要负责与数据交互,主要作用:
1、DbContext包含所有的实体映射到数据库表的实体集(DbSet < TEntity >)。
2、DbContext 将LINQ-to-Entities查询转换为SQL查询并将其发送到数据库。
3、更改跟踪: 它跟踪每个实体从数据库中查询出来后发生的修改变化。
4、持久化数据: 它也基于实体状态执行插入、更新和删除操作到数据库中。
- 编写和执行查询
- 将查询结果具体化为实体对象
- 跟踪对这些对象进行的更改
- 将对象更改保存回数据库
- 将内存中的对象绑定到 UI 控件
DbSet<TEntity> 类
DbContext中的DbSet
DbSet表示上下文中指定类型的所有实体的集合或可从数据库中查询的指定类型的所有实体的集合。
DbSet<TEntity>可用于查询和保存的实例 TEntity
。 针对的 LINQ 查询 DbSet<TEntity> 将转换为针对数据库的查询。
针对的 LINQ 查询结果 DbSet<TEntity> 将包含从数据库返回的结果,并且可能不会反映在尚未保存到数据库的上下文中所做的更改。 例如,结果将不包含新添加的实体,可能仍包含标记为要删除的实体。
根据所使用的数据库,可以在内存中计算 LINQ 查询的某些部分,而不是将其 DbSet<TEntity> 转换为数据库查询。
DbSet<TEntity> 对象通常从 DbSet<TEntity> 派生的属性 DbContext 或从 Set<TEntity>() 方法获取。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~