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

时间:2011-09-29 13:18:11

标签: c# entity-framework-4

我有ObjectContext和实体,我们称之为Device。 实体的实体密钥不是自动生成的,并且在添加到上下文期间指定。 添加具有以下代码的新实体后

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

我正在尝试阅读该实体

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

并获得null。

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

为什么我无法从上下文中读取实体?

1 个答案:

答案 0 :(得分:2)

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