我有一个名为'Question'的实体类型,当我创建它的新实例并将其添加到实体集'Questions'(使用AddObject()),而不是在上下文中调用SaveChanges()方法时,一切正常。但是当我添加它,但还没有调用SaveChanges()并尝试对'问题'执行一些linq查询结果不包含最近添加的'Question'对象时,在调用SaveChanges()之前,它似乎对linq不可见。这是正确的行为还是我错过了什么?
答案 0 :(得分:1)
我认为这是正确的行为,特别是如果你指的是实体框架。
这应该能够在调用保存更改之前获取您添加的对象,即一旦添加了它们:
ObjectStateManager.GetObjectStateEntries
答案 1 :(得分:0)
为简单起见,我决定不使用LINQ,而是使用Count()方法查看AddObject()之后我有多少个问题对象
(_context.Questions.ToArray()).Count()
得到8
// defaultQuestion object initialization here ...
_context.Questions.AddObject(defaultQuestion);
(_context.Questions.ToArray()).Count()
再次得到8