我的道歉,因为这个问题很难用好话来表达。
我的问题类似于this。
是否违反了存储库模式?使用为产品创建的Reposiotry用于获取所有类别?
viewModel.Categories= productRepository.FindAll<Category>(c => c.Id > 0).ToList();//is it Correct with Pattern
虽然我也可以得到类似的结果,
viewModel.Categories = categoryRepository.GetAll();// getting Categories by creating new instance of categoryRepository
在上面的例子中,我需要在Product视图中显示类别,只有diplay no crud(工作单元)将在Category上完成。 那么这里的最佳做法是什么?
Thnaks,
答案 0 :(得分:0)
作为mentioned in this post,您可能希望在它们之间安装ServiceLayer。服务层负责将元逻辑与控制器分离。随着代码变得越来越复杂,存储库需要相互了解,这是不好的。但是,对于服务,它是完全可以的。然后,存储库非常轻量级,并且不了解业务逻辑。
然而,ServiceLayer有。例如,如果没有Categories
集合/表,但类别嵌入在产品中,则不应该有假装的CategoryRepository。但是,ProductService
可以使用方法AllCategories()
。