我已经将我的业务逻辑类从控制器中分离出来,以便控制器包含尽可能少的业务逻辑。但是,由于我希望通过web请求的生命周期使用相同的dbcontext,并且能够传递带上下文的实体,所以我将dbcontext传递给业务逻辑类,并且这些类中的几乎每个方法都接受dbcontext作为参数。(当上下文不同时,我必须查询数据库以生成相同的实体。)
这种方法有什么问题吗?(无论是尝试使用相同的上下文,还是在每个业务逻辑方法中接受它作为参数?)
发布于 2017-01-08 17:39:04
我认为您应该在项目中实现存储库和工作单元设计模式。
存储库和工作模式单元用于在应用程序的数据访问层和业务逻辑层之间创建抽象层。
您已经做好了业务逻辑层和数据访问层的分离。现在,您必须使用工作单元模式来共享dbcontext。
工作单元通过创建由所有存储库共享的单个数据库上下文类来协调多个存储库的工作。
阅读有关实现这里的更多信息。
https://stackoverflow.com/questions/41534981
复制相似问题