我认为在Application_BeginRequest中设置Entity对象上下文,将它存储在Request.items中,在整个请求中使用它并将其部署在Application_EndRequest中是明智的.这样,上下文始终可用,我可以在我的视图中导航实体框架对象图,延迟加载我尚未急切获取的内容.
我认为这会像在Ruby on Rails上开发一样.
可能是因为说出这样的异端邪说我应该被枪杀,但它太疯狂了它可能会起作用:)
我无法在ASP.NET MVC上启动Application_BeginRequest和..EndRequest.他们不是被解雇了吗?我需要做什么特别的伎俩?
解决方法
EF中的对象上下文,如L2S中的数据上下文,被设计为“工作单元”,它们不是线程安全的,并且它们的设计并不长久.
在MVC中,最好的策略是在控制器的构造函数中创建一个(隐式或显式,无关紧要),然后将它配置在dispose方法中.当然,EF不会进行延迟加载,所以你必须找到自己的懒惰方式.
原文地址:https://www.jb51.cc/aspnet/245148.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。