在asp.net-mvc项目中,使用Blocks在存储库中存在哪些潜在问题或挑战?
- 内容介绍
- 文章标签
- 相关推荐
本文共计334个文字,预计阅读时间需要2分钟。
我在我的数据库的每个方法中都用到了块。如果我想使用嵌套引用方法,那么初始化另一个DataContext似乎是最佳实践。我犯了什么错误?如果我在类中声明了一个DataContext而不是在方法中使用块,那么这是否意味着我使用块的方式不对?
我在我的存储库的每个方法中都使用了块.如果我想交叉引用方法,那么初始化另一个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的东西.
本文共计334个文字,预计阅读时间需要2分钟。
我在我的数据库的每个方法中都用到了块。如果我想使用嵌套引用方法,那么初始化另一个DataContext似乎是最佳实践。我犯了什么错误?如果我在类中声明了一个DataContext而不是在方法中使用块,那么这是否意味着我使用块的方式不对?
我在我的存储库的每个方法中都使用了块.如果我想交叉引用方法,那么初始化另一个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的东西.

