【问题标题】:Entity Framework - avoiding another query实体框架 - 避免另一个查询
【发布时间】:2010-06-16 21:44:47
【问题描述】:

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

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

我的实体上下文可能已经保存了该对象 .. 如果确实如此,我想找到它并再次使用它,而不会在我“找到”它时从数据库中刷新它

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

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

【问题讨论】:

    标签: entity-framework devforce


    【解决方案1】:

    我可能不太明白这个问题,但我相信您正在寻找某种缓存机制,我知道在工作中我们使用 devForces IdeaBlade 可以解决问题,但是我相信您可以为您创建一个简单的缓存机制需要。

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

    关于缓存的部分会很有帮助,如果这对我没有帮助,我可以深入挖掘一下。

    【讨论】:

    • DevForce .. 我目前正在研究那个 .. 很棒的产品。但不是这里的答案。我要说的是我只想更新/插入表格中的一行。我可以这样做而不导致每次读取。其次..如果我已经有一个实体集合(表中的行),我如何从集合中获取实体,而不需要 entityContext 从数据库中刷新实体。我不需要转到已经在集合中的数据库。所以我只想在集合中找到一个实体。
    【解决方案2】:

    我相信您需要使用 GetObjectByKey() 而不是使用 ObjectQuery 我相信无论它是什么,ObjectQuery 总是会命中后端数据存储区。

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 2021-06-05
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 2017-07-28
    • 1970-01-01
    相关资源
    最近更新 更多