gpt4 book ai didi

entity-framework - Entity Framework : Re-finding objects recently added to context

转载 作者:行者123 更新时间:2023-12-03 07:25:07 25 4
gpt4 key购买 nike

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

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() ,它会起作用(这并不令我惊讶),但为什么它不能正确从缓存中提取?

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

谢谢

最佳答案

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

所以你可能会说:

EntityObject search = ents.EntityObject.FirstOrDefault(o => o.Id == theId) ??
ents.EntityObject.Local.FirstOrDefault(o => o.Id == theId);

关于entity-framework - Entity Framework : Re-finding objects recently added to context,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/699648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com