【发布时间】:2014-08-28 20:44:18
【问题描述】:
我有一个包含这些项目的 n 层解决方案(针对这个问题进行了简化):
- 域
- 逻辑
- 网络
在“域”项目中,我有一个“存储库”命名空间,每个存储库都映射到数据库中的不同表并查询其数据。
例如 - 表 Customers 和 Orders 将具有相应的存储库 - CustomersRepository 和 OrdersRepository。
在Logic 项目中,我实例化这些存储库对象并调用它们实际查询数据库的方法。
假设我想显示一个显示两个表中的一些数据的报告。
此报告由一组自定义对象构成 - IList<ReportObject>。
现在,这个ReportObject 对象在数据库中没有对应的表,因此没有存储库对象。
我的问题:我应该将实际查询数据库并获取IList<ReportObject> 的代码部分放在哪里?它应该只是在Logic 层的某个数据控制器中吗?或为报告创建另一个存储库?还有其他选择吗?
【问题讨论】:
标签: asp.net-mvc entity-framework architecture n-tier-architecture