实体框架 - 避免另一个查询

时间:2010-06-16 21:44:47

标签: entity-framework devforce

我要求只将数据保存到数据库中的表中(我不需要读取它)

如果记录已经存在,我想更新它,否则我会添加它。 它通常存在。

我的实体上下文可能已经拥有了对象..如果是的话我想找到它并再次使用它而不会在我找到它时从数据库中刷新它

即。上下文包含一组实体(数据库的行)我想在集合中查找实体,并且只希望上下文在实体不在集合中时转到数据库。我不关心实体的当前值。我只是想更新它们。

希望这很清楚.....谢谢

2 个答案:

答案 0 :(得分:3)

我可能没有看到这个问题,但我相信你正在寻找某种缓存机制,我知道在工作中我们使用devForces IdeaBlade来实现这个技巧,但是我相信你可以为你创建一个简单的缓存机制需要。

http://blogs.msdn.com/b/jkowalski/archive/2009/06/11/tracing-and-caching-in-entity-framework-available-on-msdn-code-gallery.aspx

缓存上的这些内容会有所帮助,如果这对我没有帮助,我可以深入挖掘一下。

答案 1 :(得分:2)

我相信您需要使用GetObjectByKey()而不是使用ObjectQuery我相信ObjectQuery总是会遇到后端数据存储区。

更多信息http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.getobjectbykey.aspx