【发布时间】:2013-04-03 21:54:14
【问题描述】:
我一直在阅读 Repository Pattern 并努力寻找关于人们如何处理返回的数据不仅仅是您的标准模型(即不是 Customer 1..* Account)的情况的可靠答案
我正在构建一个分析系统,它返回聚合的数据,有时跨越许多表。此外,这些表中可能有数百万条记录正在连接中。简而言之,我的典型结果集不是我的核心领域模型,而是(有时是极端的)它们的跨度、排列和聚合。
在过去,我只是简单地构建了我的查询并将结果作为自定义结果集返回(授予这允许从我的系统的上层访问 ORM,因此没有将我的系统与 ORM 的知识分开正在使用)。
存储库模式在这里不合适吗?其他人是如何处理这种情况的?感觉有点像方钉/圆孔。
作为参考,我正在使用带有 MSSQL DB 的 ASP MVC 在 C# .Net 中进行开发。
更新
虽然我的方案主要基于报告,但我仍在处理构成报告所基于的数据的各个实体。
作为(只是)一个例子:我仍然需要我的Customer 实体,并且客户仍然需要他们通过系统生成的Orders。在这种情况下,我的域 POCOS 在这里运行良好。在收到 MANY Orders 并且必须以与我现有域对象附近的任何地方都不匹配的格式报告它们以及它们的许多加入的聚合表之后,问题就出现了。
【问题讨论】:
标签: .net design-patterns domain-driven-design repository-pattern