我无法弄清楚 CTP 5 中实体框架代码优先的内容。它正在缓存对象,但我不希望它这样做。例如,我加载一个加载对象的页面(使用 ASP.NET MVC 站点)。然后我去更改数据库。我重新加载页面,但更改没有反映出来。如果我终止该网站并重新运行它,那么它显然会重新获取。通常对于某种类型,甚至对于特定查询,我如何告诉它始终获取新副本。我认为这可能与 MergeOption 有关,但我无法找到适用于 CTP 5 的示例。谢谢。
好吧,想通了。有时会从 EF 缓存中提取以下内容:
return (from m in _dataContext.Monkeys
where m.MonkeyId == monkeyId
select m).FirstOrDefault();
您可以使用 AsNoTracking() 绕过更改跟踪/缓存内容:
return (from m in _dataContext.Monkeys.AsNoTracking()
where m.MonkeyId == monkeyId
select m).FirstOrDefault();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)