我尝试将存储库与实际的数据存储实现隔离开来。用这个抽象创建一些简单的查询我没有什么问题。
示例我需要按顺序列出订单行数的订单列表。
Repository 方法返回 OrderInfo 对象的列表。
class OrderInfo
{
string Title { get; set; }
int NumberOfLines { get; set; }
}
数据存储不包含任何直接包含订单行计数的字段,因此必须即时计算。
当查询直接写入存储库方法时,可以使用简单的 sql 查询(count + group by)轻松存档。
如果我尝试创建某种抽象层,我会迷失如何“定义查询而不使用任何依赖于存储的东西,包括它应该返回每个订单的订单行数”。
还是我完全走错了方向?