asp.net-mvc – 什么是实例化和配置DbContext在MVC中的最佳方式
发布时间:2020-12-15 19:17:55 所属栏目:asp.Net 来源:网络整理
导读:MVC 3 EF 4.1 我选择两种方法来处理DbContext: 在Application_BeginRequest中实例化,放入 HttpContext.Current.Items并在Application_EndRequest中进行处理。 创建一次性UnitOfWork(kindof wrapper for DbContext)和 使用(var unitOfWork = new)启动每个控
MVC 3 EF 4.1
我选择两种方法来处理DbContext: >在Application_BeginRequest中实例化,放入 分享您的经验请:您喜欢哪一个?每种方法的优点和缺点是什么? 解决方法
我建议你使用依赖注入框架。您可以根据请求注册您的DbContext
container.RegisterType<MyDbContext>().InstancePerHttpRequest(); 并将其作为构造函数参数注入到控制器。 public class MyController : Controller { public MyController(MyDbContext myDbContext) { _myDbContext = myDbContext; } } 如果注册类型实现IDisposable,那么DI框架将在请求结束时处理它。 第一种方法:使用ID框架比手动实现它要清楚得多。此外,您的所有请求可能不需要您的UoW。 第二种方法:控制器不应该知道如何构造你的UoW(DbContext)。目的不是减少组件之间的耦合。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – Telerik RadGrid具有不同类型的编辑控件
- asp.net-mvc – 如何在ASP.NET MVC应用程序中实现搜索功能
- asp.net – ASP反请求伪造,为什么黑客不会先获取?
- 在ASP.NET MVC 3中为未经过身份验证的用户缓存主页
- 如何在ASP.NET中以“YYYY-MM-DD”格式获取当前日期?
- ASP.NET MVC – 在何处放置数据库查询
- asp.net – 谷歌Chrome在崩溃后恢复会话cookie,如何避免?
- asp.net-mvc-3 – 在IIS 7 / 7.5中注册PATCH HTTP谓词
- ASP.NET登录控件布局模板失败文本
- asp.net-mvc-4 – 加入前包含不起作用实体框架6
推荐文章
站长推荐
热点阅读