asp.net-mvc – 在存储库中使用Blocks有什么问题?
发布时间:2020-12-16 09:14:07 所属栏目:asp.Net 来源:网络整理
导读:我在我的存储库的每个方法中都使用了块.如果我想交叉引用方法,那么初始化另一个Datacontext似乎是违反最佳实践的.我做错了什么?如果我在类中声明一个Datacontext而不是在方法中使用块,我会不会失去处置能力? public IListsomething GetSomething(){ using
我在我的存储库的每个方法中都使用了块.如果我想交叉引用方法,那么初始化另一个Datacontext似乎是违反最佳实践的.我做错了什么?如果我在类中声明一个Datacontext而不是在方法中使用块,我会不会失去处置能力?
public IList<something> GetSomething() { using (DB db=new DB()) { ...GetListofSomethingElse(id) } } public IList<somethingelse> GetListofSomethingElse(int id) { using (DB db=new DB()) { ... return IList } } 解决方法
如果不使用using语句,仍可以显式处理.即使您不处理数据上下文,交叉引用这些方法仍将创建新的数据上下文.根据您的使用情况,这可能是也可能不是好事.考虑数据上下文的状态管理方面,以及是否要将方法彼此隔离.如果要始终避免创建新上下文,请使用将上下文作为参数的版本重载方法.
注意you don’t usually need to dispose of a data context,虽然我倾向于处理任何实现IDisposable的东西. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-core – .Net CORE Dapper连接字符串?
- asp.net-mvc – MVC架构 – 重新使用相同的viewmodel进行读
- asp.net – 使用Team City快照依赖项时,您使用快照的后期构
- asp.net – 发布配置文件不会发布所需的构建配置(.pubxml.u
- ASP.NET OAuth授权 – 使用ClientId和Secret以及用户名和密
- asp.net – 在IIS 7.5上使用传出异步Web请求时的可扩展性问
- asp.net-mvc – MVC DropDownListFor在视图中基本为True Fa
- .net – DotNetCore – 是否支持ApiExplorer,以及如何使用它
- 基于Asp.Net MVC动作的自定义授权
- asp.net – 单击GridView行上的任意位置以进入编辑模式
推荐文章
站长推荐
- 本地化 – 了解MVC6 RC1中的资源文件
- asp.net – 如何在Quartz.Net中处理应用程序关闭
- asp.net – 与Entity Framework中的联结表有多对
- asp.net url分页类代码
- asp.net-mvc – 如何将自定义css文件添加到asp.n
- asp.net-core – IClaimsTransformer的User.IsIn
- asp.net – precompiledApp.config的目的是什么?
- remoting和webservice有什么区别
- asp.net – 实体框架不会显示存储过程
- Asp.Net Core 进阶(一) —— 读取appsettings.
热点阅读