【发布时间】:2009-08-27 14:05:53
【问题描述】:
我正在使用 NHibernate,并设置了一对一映射。让我们称之为客户 - >订单 这一切都有效,我可以为客户获得所有订单。
现在,我想过滤这些订单,假设我只想要运行时间确定日期之间的订单。
public class Customer
{
...
// mapped from NHibernate mapping file
public IList<Orders>Orders {get; set; }
// get a filtered list of orders
public IList<Orders>GetOrders(DateTime start, DateTime end) { ... }
...
}
所以我可以枚举所有订单并选择我想要的订单,但我想将过滤推迟到数据库中,因为订单数量可能非常大。
问题是,我可以在带有过滤器的映射文件中执行此操作吗? 还是我需要在存储库上创建一个方法来执行此操作并从我的域对象访问该方法?
也欢迎任何其他建议....
非常感谢
RR
【问题讨论】:
-
好的,所以看起来我可能需要根据这个答案基于接口实现服务类:stackoverflow.com/questions/521640/… 问题是,我是否在域对象的构造函数中注入服务依赖项?还有其他/更好的方法吗?
标签: nhibernate-mapping repository domain-driven-design