c# - 是否可以在 MS Entity Framework 中查询新添加的对象

标签 c# .net entity-framework orm persistence

有没有办法在 Entity Framework 中查询或访问新添加的对象(使用 ObjectContext.AddObject 方法)?我的意思是尚未使用 SaveChanges 将其保存到数据存储的情况

我知道查询被转换为底层 SQL 并针对数据存储执行,但它还没有这个新对象。但无论如何,我很好奇——如果没有官方支持,也许理论上是可行的。如果不是,开发人员如何处理?手动跟踪新对象并使用 Linq to objects 查询它们?

同样的问题也适用于 LinqToSql。

最佳答案

在 EF 中,如果您使用此代码,您将拥有已加载到上下文中的所有实体(包括新添加的实体):

context.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Modified | EntityState.Unchanged).Select(o => o.Entity).OfType<YourObjectType>()

关于c# - 是否可以在 MS Entity Framework 中查询新添加的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/326186/

相关文章:

c# - 如何将常量和类属性值映射到 Dictionary<int, object>?

.net - 如何最好地实现脏话处理程序(首选 .NET)?

c# - EF Core 以编程方式更改隔离级别?

c# - 主/细节平面文件与 FileHelpers 在同一行

c# - 如何从 ListView 复制单个子项?

c# - 在 Visual Studio 2012 中打开源文件时出现错误 "oldIndex must be a valid index in the Children collection"

.net - WCF 数据服务和 self 跟踪实体

asp.net - 仅 Web API v2 项目的 HttpContext.Current.User null

entity-framework - Linq 包含 f# 风格管道的辅助函数

entity-framework - 如何让 Entity Framework 仅更新在生成的 SQL 中修改的属性?