从对象上下文中读取新创建的实体

本文关键字:创建 实体 新创建 对象 上下文 读取 | 更新日期: 2023-09-27 18:09:58

我有ObjectContext和entity,我们叫它Device。实体的实体键不是自动生成的,而是在添加到上下文时指定的。使用以下代码添加新实体后

Context.Devices.Add(new Device{Id = someVal, /*initialization*/});

我正在尝试读取那个实体

var dev = Context.Devices.SingleOrDefault(d => d.Id == someVal);

当然,在调用SaveChanges()之后,我可以从DB中读取该设备。

为什么我不能从上下文读取实体?

从对象上下文中读取新创建的实体

因为在调用SaveChanges之前,它实际上并不存在于数据库中。您对Context.Devices.SingleOrDefault(d => d.Id == someVal);的呼叫正在回呼数据库