2009-07-08 84 views
2

我正在开发一个WPF应用程序,该应用程序通过实体框架与数据库进行对话,并且遇到大量问题试图保持应用程序响应。 DataContext不是线程安全的,所以你不能从后台线程进行数据访问。由于对象跟踪,你不能在DataContexts之间传递对象(我已经尝试了3个星期......它总是排序作品,但从来没有在所有情况下)。使用实体框架进行异步编程

我想要做的就是在数据访问正在进行时让我的应用程序响应。您使用Entity Framework实现此目标的模式是什么?

谢谢
罗伊

+0

[我是否应该使用Entity Framework 4.0?](http://izlooite.blogspot.com/2011/04/should-i-ever-use-entity-framework-40.html) – 2011-04-23 15:30:07

回答

0

的EF还没有实现懒加载(或至少没有很好),所以这可能是你的性能问题的一部分。因此,分层查询(查询之上的查询)将受到影响。

这听起来像你正在试图用它做一些相当复杂的事情。尝试更多地考虑交易,即选择,更新,提交;新建,插入,提交;并选择,删除,提交。

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