实体框架:重新查找最近添加到上下文中的对象

2024-01-09

我正在使用实体框架,并且在“重新查找”我刚刚创建的对象时遇到问题......基本上是这样的:

string theId = "someId";

private void Test()
{
  using(MyEntities entities = new MyEntities())
  {
    EntityObject o = new EntityObject();
    o.Id = theId;
    entities.AddToEntityObject(o);
    CallSomeOtherMethod(entities);
  }
}

void CallSomeOtherMethod(MyEntities ents)
{
  EntityObject search = ents.EntityObject.FirstOrDefault(o => o.Id == theId);
  if(search == null) 
  {
    Console.WriteLine("wha happened???");
  }
}

(顺便说一句,不能保证代码有效 - 这都是我的想法)

为什么查询没有“找到”刚刚创建的 EntityObject?

如果我在 AddToEntityObject 之后调用 SaveChanges() 它可以工作(这并不令我惊讶),但为什么它不能正确从缓存中提取?

我对这些东西还很陌生,所以我希望有一些非常简单的事情我只是忽略了......

Thanks


新添加的对象位于本地 DataSource 中,因为它尚未持久化在数据库中,

所以你可能会说:

EntityObject search = ents.EntityObject.FirstOrDefault(o => o.Id == theId) ??
                      ents.EntityObject.Local.FirstOrDefault(o => o.Id == theId);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实体框架:重新查找最近添加到上下文中的对象 的相关文章

随机推荐