【问题标题】:Async Programming with Entity Framework使用实体框架进行异步编程
【发布时间】:2009-07-09 06:52:48
【问题描述】:

我正在开发一个 WPF 应用程序,该应用程序通过实体框架与数据库通信,但我在尝试保持应用程序响应时遇到了很大的问题。 DataContext 不是线程安全的,因此您不能从后台线程进行数据访问。由于对象跟踪,您无法在 DataContexts 之间传递对象(我已经尝试了 3 周......它总是有点有效,但并非在所有情况下都有效)。

我想做的就是在进行数据访问时让我的应用程序保持响应。您在 Entity Framework 中使用了哪些模式来实现这一目标?

谢谢,
罗伊

【问题讨论】:

    标签: design-patterns entity-framework


    【解决方案1】:

    EF 尚未实现延迟加载(或至少不是很好),因此这可能是您的性能问题的一部分。分层查询(查询之上的查询)将因此受到影响。

    听起来你正试图用它做一些非常复杂的事情。尝试更多地考虑事务,即选择、更新、提交;新建、插入、提交;和选择、删除、提交。

    在任何给定的存储库或线程中,始终只使用一个 DataContext。正如您所发现的,在数据​​上下文中传递对象是很困难的。但在相同的数据上下文中应该轻而易举。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-03
      • 2014-09-02
      • 1970-01-01
      • 2015-05-12
      • 2016-07-14
      • 2020-09-12
      • 2019-11-02
      • 1970-01-01
      相关资源
      最近更新 更多