我正在使用实体框架,并且在“重新查找”我刚刚创建的对象时遇到问题......基本上是这样的:
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(使用前将#替换为@)