【发布时间】:2014-08-23 07:35:07
【问题描述】:
我有几个表需要从中提取数据,但我不需要所有表中的所有数据。因此,例如,我有以下 Order 对象,其中包含多个子对象和对象集合。
public class Order
{
public virtual int ID { get; set; }
public virtual Coupon CouponID { get; set; }
public virtual Status StatusID { get; set; }
public virtual Address ShippingAddressID { get; set; }
public virtual Address BillingAddressID { get; set; }
public virtual ICollection<OrderShipmentHistory> OrdertHistories { get; set; }
public virtual ICollection<OrderShipmentNote> OrderNotes { get; set; }
public virtual ShippingDetails ShippingDetail { get; set; }
public virtual ICollection<OrderProduct> OrderProducts { get; set; }
}
这些子对象中的一些又具有子对象,在最极端的情况下,我们有一个 4 层对象层次结构。
所以我的问题是我需要从大多数子对象中检索仅包含特定信息的对象列表。
目前,当我检索订单列表时,我正在撤回所有内容。我使用了延迟加载,所以我不这样做,但我最终需要拉回这些信息,因为我正在访问每个子对象中的至少一条数据。
所以我在想,我可以为我需要的每个数据集合创建 DTO,而不是填充订单列表。我的问题是我不确定从哪里开始。我见过有人使用 DTO 的例子,但只有在他们检索到所有数据后才填充它们。我不想这样做。我只想检索我需要的数据,然后用结果集填充 DTO。
我非常感谢任何关于我应该从哪里开始以及应该使用什么的指导。
问候
诺埃尔。
【问题讨论】:
标签: c# nhibernate dto resulttransformer