2011-08-27 39 views
0

我在我的应用程序(MVC3,WebForms)中使用Repository design pattern“Martin's Fowler”,并且在整个应用程序中都使用了“ONLY ONE”DbContext(“Singletone”)。性能问题:EF4.1

详情: Repository是看起来像,

class Repository<T> : IRepository<T>, IUnitOfWork 

只有一个仓库至极我创造更多的资源库,就像这样:

class UserRepository { 
    private IRepository<User> _repository; 
    //dependency injection via constructor using Ninject 
    public UserRepository(IRepository<User> repository) { 
     _repository = repository; 
    } 
} 

等等...

在这些情况下,最佳做法是什么,你有什么建议让自己变得更好?

我必须提高自己的表现,当然要学会正确的做法。

谢谢大家的答案。

回答

2

您正在为整个应用程序使用一个上下文=完成了。您的应用程序will not work。您必须将其更改为每个请求使用新的上下文实例。

另外我想知道你的问题与性能有关,你的代码片段代表什么?

+0

多个dbcontext抛出一个错误,就像“你正在使用多个dbcontext ....”后,我改变使用singletone它很好地工作,并没有让我失败了一次。对于性能问题:如果创建多个上下文,这会使性能更好,这几乎是正确的?我说过我需要知道如何以正确的方式做到这一点。 – IamStalker

+0

我已经描述了你需要做的正确方法。简单地说你现在的解决方案是非常错误的。 –

+0

好的,谢谢,真的没有太大的帮助。 任何方式感谢您的帮助。 – IamStalker