【发布时间】:2015-02-18 20:44:06
【问题描述】:
所以当我们谈论过滤和查询时,我正在努力解决 DDD 必须遵循的方法。从这个 SO 问题Is it okay to bypass the repository pattern for complex queries? 我可以看到用户的过滤应该在获得所有产品后完成。接受的答案中的代码是:
Products products = /* get Products repository implementation */;
IList<Product> res = products.BoughtByUser(User user);
但是等等,如果数据库有 100 万个产品呢?像这样直接在数据库中执行此过滤器的最佳方法不是:
productsRepository.Find(p => p.User.Id == userId);
但根据我对 DDD 的实际了解,这是错误的,因为这个逻辑应该在产品本身内部。
那么,如何处理这种情况?
【问题讨论】:
标签: performance entity-framework domain-driven-design