我的实体类型称为'问题',当我创建它的新实例并将其添加到实体集'问题'(使用AddObject()),然后调用SaveChanges()方法在上下文中,所有工作正常。但是当我添加它,但不调用SaveChanges(),并尝试执行一些linq对'问题'的查询结果不包含最近添加的'问题'对象,它似乎是不可见的linq,直到SaveChanges()被调用。这是正确的行为还是我错过了什么?
我相信这是正确的行为,特别是如果你指的是实体框架。
这应该能够获取你在save changes被调用之前添加的对象,即一旦你添加了它们:
ObjectStateManager.GetObjectStateEntries
msdn ref
为了简单起见,我决定不使用LINQ,而是使用Count()方法来查看AddObject()之后有多少个问题对象
(_context.Questions.ToArray()).Count()
有8
// defaultQuestion object initialization here ...
_context.Questions.AddObject(defaultQuestion);
(_context.Questions.ToArray()).Count()
又得到了8