asp.net-mvc – 实体框架4.1代码优先 – 在存储库之间共享dbCont
发布时间:2020-12-16 10:00:33 所属栏目:asp.Net 来源:网络整理
导读:我遇到了多个上下文的问题,并且出现的主要解决方案是在存储库之间共享上下文但是我没有找到关于如何执行此操作的良好示例. 作为参考,我使用MVC Web App连接到我的数据层.我希望每个用户请求有一个上下文(假设这是正确的). 谢谢, 编辑 – 这是我在BrokenGlass
我遇到了多个上下文的问题,并且出现的主要解决方案是在存储库之间共享上下文但是我没有找到关于如何执行此操作的良好示例.
作为参考,我使用MVC Web App连接到我的数据层.我希望每个用户请求有一个上下文(假设这是正确的). 谢谢, 编辑 – 这是我在BrokenGlass的链接和以下SO Question的帮助下的解决方案: 我基本上实现了工作单元模式和依赖注入.我应该提到除了使用MVC之外,我也在使用Ninject. 在给定的存储库构造函数中(请参阅下面的链接,了解工作单元模式详细信息): public class PersonRepository : IPersonRepository { private readonly MyContext _context; public PersonRepository(IUnitOfWork unitOfWork) { if (unitOfWork == null) throw new ArgumentNullException("unitOfWork"); _context = unitOfWork as MyContext; } //... } 在我的NinjectMVC3类的MVC应用程序中(关键是InRequestScope()方法): private static void RegisterServices(IKernel kernel) { kernel.Bind<IUnitOfWork>().To<MyContext>().InRequestScope(); kernel.Bind<IPersonRepository>().To<PersonRepository>(); //... } 解决方法
您的存储库层应提供表示单个请求的
unit of work,并使用上下文对象,然后在完成请求所需的所有单个存储库上使用该上下文对象.
对于HTTP / Web应用程序,您可以在 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET – 括号中的负数
- asp.net – 有人有一种方法来保持页面呈现一旦一个人已退出
- asp.net – 如何循环通过WebForms中的数据,就像在MVC中
- asp.net-mvc-3 – 视图或控制器中的if或else语句
- asp.net – 通过web.config覆盖machine.config
- asp.net – 将persistentCookiesOnPassiveRedirects设置为t
- asp.net – VS2008中的许多ascx-to-one ascx.cs错误
- asp.net – aspnet的最大值:MaxHttpCollectionKeys
- asp.net – 配置节“system.servicemodel”无法读取,因为它
- asp.net – 将特定文件夹映射到web.config中的HttpHandler
推荐文章
站长推荐
热点阅读