0

我有一个名为“问题”的实体类型,当我创建它的新实例并将其添加到实体集“问题”中(使用 AddObject()),而不是在上下文中调用 SaveChanges() 方法时,一切正常。但是当我添加它,但还没有调用 SaveChanges() 并尝试对“问题”执行一些 linq 时,查询结果不包含最近添加的“问题”对象,在调用 SaveChanges() 之前,它似乎对 linq 不可见。这是正确的行为还是我错过了什么?

4

2 回答 2

1

我相信这是正确的行为,尤其是当您指的是实体框架时。

这应该能够在调用保存更改之前获取您添加的对象,即一旦您添加了它们:

ObjectStateManager.GetObjectStateEntries 

msdn 参考

于 2013-01-14T16:14:05.233 回答
0

为简单起见,我决定不使用 LINQ,而是使用 Count() 方法来查看在 AddObject() 之后我有多少问题对象

(_context.Questions.ToArray()).Count()

得到 8 个

// defaultQuestion object initialization here ...
_context.Questions.AddObject(defaultQuestion);
(_context.Questions.ToArray()).Count()

又得到了 8

于 2013-01-14T16:22:32.133 回答