在 AddObject 之后、在 SaveChanges 之前查询对象?

2024-01-04

在实体框架中,是否可以在调用 SaveChanges 方法之前查询刚刚使用“添加对象”添加到上下文的对象?

Thanks


要持久化一个实体,您通常将其添加到它的DbSet在上下文中。

例如

var bar = new Bar();
bar.Name = "foo";
var context = new Context();
context.Bars.Add(bar);

令人惊讶的是,查询context.Bars,找不到刚刚添加的实体

var howMany = context.Bars.Count(b => b.Name == "foo");
// howMany == 0

After context.SaveChanges()将会产生相同的结果1

The DbSet似乎不知道更改,直到它们保留在数据库上。

幸运的是,每个DbSet has a Local https://learn.microsoft.com/en-us/dotnet/api/microsoft.entityframeworkcore.dbset-1.local?view=efcore-2.1属性的作用类似于DbSet本身,但它反映了所有内存中的操作

var howMany = context.Bars.Local.Count(b => b.Name == "foo");
// howMany == 1

您还可以使用Local添加实体

context.Bars.Local.Add(bar);

并摆脱实体框架的奇怪行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 AddObject 之后、在 SaveChanges 之前查询对象? 的相关文章

  • 实体框架 5 - 抽象类型“X”没有映射的后代,因此无法映射

    尝试操作时出现以下错误这个对象 https github com gbirchmeier quickfixn blob master QuickFIXn Message FIX44 TradeCaptureReportRequestAck
  • 不同提供商的相同 EDMX 文件

    我正在开发一个项目 其中有一个本地数据库 SQL CE 在不存在与服务器的连接的情况下用作缓冲区 在服务器上我想使用相同的数据库布局 当然 我想使用服务器和客户端上可用的 Common dll 中的相同 EDMX 文件 在客户端中 我有一个
  • 在 Silverlight 中使用 RIA 服务时如何扩展实体?

    在我的 Silverlight 解决方案的服务器端 我有 2 个项目 提供 Silverlight 页面的网站 实体框架数据访问层 我有一个具有 FirstName 和 LastName 属性的实体 我想添加一个可从 Silverlight
  • 从 SQLCE 4 迁移到 SQL Server 2008

    因此 作为早期采用者 我开发了一个基于 SQLCE4 ASP Net MVC3 和实体框架CTP5 http www microsoft com downloads en details aspx FamilyID 35adb688 f8a
  • 如何计算关联实体而不在实体框架中获取它们

    我想知道这个问题已经有一段时间了 所以我认为值得使用我的第一篇 Stack Overflow 帖子来询问它 想象一下我正在与关联的消息列表进行讨论 DiscussionCategory discussionCategory reposito
  • EntityFramework 6.0.0.0 读取数据,但不插入

    我创建了一个基于服务的数据库 folderName gt Add New Item gt Data gt Service based Database文件到 WPF 应用程序中 然后我用过Database First方法并创建了Person
  • 合并两个 linq 表达式

    我有两个在不同时间构建的表达式 但需要合并才能获得 where 子句的准确 分组 我确实尝试过this https stackoverflow com questions 10390784 how do i combine expressi
  • IOptions 不包含 ASP.NET 5 Beta 8 中的定义“选项”

    Problem 我在将 beta7 应用程序升级到 beta8 时遇到问题 我最初有超过 50 个错误 但现在基本上只剩下两个我无法解决的持续错误 一种是带有选项 选项缺失错误 这是错误 错误 CS1061 IOptions 不包含 Opt
  • 如何在使用 LINQ to Entities 和辅助方法时保持 DRY?

    假设我有一种特殊的方法来确定某些字符串是否 匹配 如下所示 public bool stringsMatch string searchFor string searchIn if string IsNullOrEmpty searchFo
  • MVC3数据缓存技术

    我有一个 sql 查询 存储过程 在结果显示在网络网格中之前需要大约 8 10 秒才能返回 关于 asp net mvc3 中的缓存的性能最佳实践是什么 以便用户不必每次都花费 8 10 秒来加载该数据 减少优化查询 你可以使用内存缓存 h
  • DbContext.SaveChangesAsync 异常处理

    当搭建新的脚手架时ApiController通过 Visual Studio 2013 中的异步操作和实体框架支持 某些方法可以包装DbContext SaveChangesAsync https msdn microsoft com en
  • LINQ 中的“from..where”或“FirstOrDefault”

    传统上 当我尝试从数据库中获取用户的数据时 我使用了以下方法 在某种程度上 DbUsers curUser context DbUsers FirstOrDefault x gt x u LoginName id string name c
  • 在实体框架上克隆数据[重复]

    这个问题在这里已经有答案了 我正在创建软件 用户可以在其中基于旧产品创建新产品 现在我需要使用实体框架进行复制 克隆操作 首先我开始这样写 foreach sourcedata1 in table1 create new table cop
  • EF Core 模型构建约定

    在 EF6 中 可以在模型构建期间根据属性类型定义约定 就像这样 public interface IEntity Guid Id get public class MyEntity IEntity public Guid Id get s
  • 如何在 EF 查询中使用函数参数化选择器?

    我有一个传递给的投影函数IQueryable lt gt Select method private static Expression
  • 实体框架POCO与WCF软件设计问题

    我将在我的应用程序中使用实体框架和 WCF 正如我所看到的 建议的做法是将 POCO 与实体框架结合使用 并使用 POCO 类作为 DataContracts 如果我没记错的话 这实际上就是 POCO 和属性的用途 但是 我被要求对 Ent
  • TransactionScope - 底层提供程序在 EnlistTransaction 上失败。 MSDTC 正在中止

    我们的团队遇到了一个问题 表现为 底层提供者在 EnlistTransaction 上失败 无法访问 已处置对象 对象名称 事务 这似乎是我们一开始使用就出现的交易范围 http msdn microsoft com en us libra
  • 无法找到请求的.Net Framework 数据提供程序。 (Sql客户端)

    我正在尝试使用来自 SQL Server 2005 的 DB First 迁移来设置一个简单的 ASP NET MVC 4 Web 应用程序 我已经在数据库中创建了表 并使用实体框架在代码中创建了对象 我可以使用这些对象访问数据 当我尝试使
  • 使用实体框架存储库返回多个结果集

    我正在编写一个代码 其中我需要多个表作为存储过程的结果 我正在使用实体框架存储库模式 它返回并绑定一个 IEnumerable 对象 但我需要同时将它与多个 IEnumerable 绑定 有人可以帮忙吗 这是我正在使用的代码 db Data
  • 实体框架 5 不清除导航属性

    我在 Entity Framework 5 中遇到了这个奇怪的问题 我在其中一个实体中有一个导航属性 我想将其设置为null 但由于某种原因 该属性只有在我第二次调用该属性时才会被清除 using var db new Entities v

随机推荐

  • 加载React组件时未定义gapi

    我正在尝试集成 Google 登录 link https developers google com identity sign in web sign in 使用反应 我发现一个问题过去已经解决了这个问题使用带有 React 2 的 go
  • 如何在提取元素时跳过“#”号而不循环?

    我想从这个数据集中获取一个新的data frame 但是有些行之间有一些带有 的描述 有些行包含 符号 我可以在条件 substr x 1 下使用 for 循环 1 和 gsub 使用正则表达式来获得我需要的结果 我的问题是我是否可以在没有
  • 如何在 python 中使用 kNN 动态时间扭曲

    我有一个带有两个标签的时间序列数据集 0 and 1 我在用动态时间扭曲 DTW 作为使用 k 最近邻 kNN 进行分类的相似性度量 如这两篇精彩的博客文章中所述 https nbviewer jupyter org github mark
  • LaTeX:美元符号与 \( \)

    有什么理由更喜欢语法 myformula 到平常的 myformula 在乳胶中 Edit 同样的问题被问到并得到了回答tex stackexchange https tex stackexchange com questions 510
  • 使用 Javascript 更新 JSON 对象

    如何使用 javascript 或 Jquery 动态更新以下 JSON 对象 var jsonObj Id 1 Username Ray FatherName Thompson Id 2 Username Steve FatherName
  • 当进程内存不足时删除大型 Javascript 对象

    我是这种javascript的新手 所以我会给出一个简短的解释 我内置了一个网络抓取工具Nodejs收集 相当多的 数据 并用Cheerio 基本上jQuery for Node 创建一个对象然后将其上传到 mongoDB 它工作得很好 除
  • React:向现有组件添加道具

    我正在尝试找出如何使用附加道具克隆现有元素 以供参考 this mainContent
  • rtmp和rtsp协议有什么区别?

    我只是想知道 rtsp 和 rtmp 协议之间有什么区别 如果我的服务器上有 mp3 并且我正在我的 Android 中使用 http 播放它 那么它们在工作中有何不同 在android中如果我想实现rtmp或rtsp 哪个是最好的 and
  • SQL Server R2 SSRS 上的 Reporting Services 权限

    当我尝试访问 SQL Server 2008 R2 上的 SSRS 时 出现以下错误 我不确定有多少其他人已经开始使用 SQL 2008 R2 SSRS 但当我尝试访问报告服务器 url 时遇到以下错误 用户没有所需的权限 验证是否已授予足
  • Java 服务器 -- 使用 POST 发送 Push 到 google Firebase Cloud

    在我测试了推送通知与 Postman 的配合后 我想在我的应用程序中发送消息时向 FCM 发送推送请求 调用的函数将访问我的 Java 服务器并调用如下函数 POST Consumes MediaType APPLICATION JSON
  • 如何将 2 路数据绑定与模型驱动表单结合起来?

    在角度 2 中 构建形式的一种可能性是模型驱动方式 据我了解 控件失去了 2 路数据绑定 这与 ngModel 的模板驱动方式相反 将 2 路数据绑定与模型驱动表单相结合的最佳方式是什么 我尝试将模型绑定与 value 一起使用
  • 服务器重启后 Liferay 调度程序不工作

    我正在使用下面的代码安排工作 Controller RequestMapping VIEW public class MyController RenderMapping public String defaultView try Stri
  • 在 Javascript 中使用 Ruby 变量(在应用程序视图中)

    目前 我有一个可以通过名为的视图访问的 ruby 变量 json 其中包含我需要的 JSON 格式的信息 但是 我想将其传递到脚本区域 例如 有什么办法可以做到这一点吗 假设您提到的脚本标签位于 html erb 视图中 您可以使用以下命令
  • 来自 Python 子进程的实时输出/流

    我正在使用 Python 及其子进程库来使用 strace 检查调用的输出 具体如下 subprocess check output strace str processname 但是 这只能给我输出after被调用的子进程已经完成 这对我
  • 制作索引控制数组?

    C 是否有索引控制数组 我想放置一个 按钮数组 例如有 5 个按钮 它只使用一个事件处理程序来处理所有这 5 个控件的索引 就像 VB6 那样 否则我必须为这 5 个按钮中的每一个编写一个额外的事件处理程序 如果我有 100 个按钮 我需要
  • 在 Sphinx 中生成外部链接

    我想链接到 Sphinx 文档中的某个 URL a href http some url blah a 我在文档中发现了类似的内容 http sphinx doc org ext extlinks html http sphinx doc
  • 在 Swift 1.2 的 init 方法中将 self 作为参数传递

    下面的课程有一个 let 属性声明为隐式解包变量 这之前适用于 Xcode 6 2 class SubView UIView let pandGestureRecognizer UIPanGestureRecognizer required
  • 如何检查 MVC Core 配置文件中的某个部分是否存在?

    如何检查加载的 ASP NET Core 配置文件中的特定部分是否存在 我有一个 JSON 配置文件 我将其加载到其中Startup类通过ConfigurationBuilder AddJsonFile method 该 JSON 文件是一
  • 使用 ggplot 函数将 geom_path 添加到箱线图时出错

    我打算创建一个箱线图并突出显示成对比较的显着性水平 这已在一个上一篇文章 https stackoverflow com questions 14958159 indicating the statistically significant
  • 在 AddObject 之后、在 SaveChanges 之前查询对象?

    在实体框架中 是否可以在调用 SaveChanges 方法之前查询刚刚使用 添加对象 添加到上下文的对象 Thanks 要持久化一个实体 您通常将其添加到它的DbSet在上下文中 例如 var bar new Bar bar Name fo