我正在创建一个MVC项目,为了简化,我有两个实体:电影和电影机。
我想显示一种流派列表,每部电影的数量都包含。
现在我对设计有问题。我不确定谁对此负责。我解决了通过在MovieController中创建一种方法,该方法通过流派ID返回电影的数量,并在MoviegenRecontroller上创建了一种选择所有类型的方法,并使用Moviecontroller(通过实例化对象(获取其数量。
对我来说似乎不是很好的设计。哪个控制器负责?我是否需要为此逻辑创建额外的控制器?谢谢。
您需要一个数据层项目,该项目将管理每个控制器对基础数据库的访问。我建议以下设计:
- 创建一个连接到数据库的库项目(Datalayer(项目。暴露的潜在方法:
- 列表getallgenres((;
- 列表getMoviesByGerre((
您可以将数据层注入服务,也可以只是在每个控制器CTOR中分配一个新对象。这更像是个人喜好... DI方法更加灵活地与dotnetcore架构一致。
Moviecontroller和MovieGenRecontroller都应使用DataLayer中的方法。