Design patterns 性能问题:EF4.1
我在我的应用程序(MVC3,WebForms)中使用“Martin’s Fowler”,并且在我的所有应用程序中使用“仅一个”DbContext(“单音”) 详情: 存储库看起来是这样的Design patterns 性能问题:EF4.1,design-patterns,c#-4.0,entity-framework-4,Design Patterns,C# 4.0,Entity Framework 4,我在我的应用程序(MVC3,WebForms)中使用“Martin’s Fowler”,并且在我的所有应用程序中使用“仅一个”DbContext(“单音”) 详情: 存储库看起来是这样的 class Repository<T> : IRepository<T>, IUnitOfWork 类存储库:IRepository,IUnitOfWork 只有一个存储库,我可以创建更多的存储库,如下所示: class UserRepository { private IRe
class Repository<T> : IRepository<T>, IUnitOfWork
类存储库:IRepository,IUnitOfWork
只有一个存储库,我可以创建更多的存储库,如下所示:
class UserRepository {
private IRepository<User> _repository;
//dependency injection via constructor using Ninject
public UserRepository(IRepository<User> repository) {
_repository = repository;
}
}
类用户存储库{
私人IRepository_存储库;
//通过使用Ninject的构造函数进行依赖项注入
公共用户存储库(IRepository存储库){
_存储库=存储库;
}
}
等等
在这些情况下,什么是最佳实践,您有什么建议可以改进
我必须提高我的表现,当然还要学习正确的方法
谢谢大家的回答 您正在为整个应用程序使用一个上下文=您完成了。你的申请。您必须将其更改为对每个请求使用新的上下文实例
另外,我想知道您的问题与性能有什么关系,您的代码段应该表示什么?多个dbcontext会给我带来一个错误,比如“您正在使用多个dbcontext…”在我改为使用singletone后,它工作得很好,一次也没有让我失望。关于性能的问题:如果创建多个上下文几乎是正确的,这会使性能更好吗?我说过我需要知道如何用正确的方式去做。我已经描述了你需要做什么才能用正确的方式去做。只是你目前的解决方案大错特错了。好吧,谢谢,这对我帮助不大。无论如何,谢谢你的帮助。以下是我的发现:我想它会告诉你你的想法是不正确的。你的观点是什么?它确切地说明了我做了什么。它询问如何为每个请求使用一个新上下文,而您为整个应用程序使用一个上下文(singleton)。