在ASP.NET MVC中,运用Blocks在仓库管理中存在哪些挑战?
- 内容介绍
- 文章标签
- 相关推荐
本文共计329个文字,预计阅读时间需要2分钟。
我在我的数据库的每个方法中都使用了块。如果我想使用双向引用,那么初始化另一个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的东西.
本文共计329个文字,预计阅读时间需要2分钟。
我在我的数据库的每个方法中都使用了块。如果我想使用双向引用,那么初始化另一个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的东西.

