如何填充对象master - detail collections c#/ SQL 2005

时间:2009-07-06 12:33:00

标签: c# sql-server-2005 business-objects master-detail

我正在使用Business Objects集合 (不使用数据集。仅限泛型集合。)
使用SQL Reader

填充Business对象的集合

我想知道您的意见什么是填写主要细节(或亲子)集合的最佳方法

假设我有2个对象:Invoice和Invoice_Details
发票对象具有通用集合“详细信息”(发票明细类型)

什么是最好的工作/填充两个集合的方法?
(例如,我想阅读2008年以来的所有发票并在GUI上展示)

  • 您是否阅读了所有日期范围内的所有发票,而不是所有孩子,并填写了适当的发票明细
  • 或逐一阅读发票及相关详情? (例如,使用乘法结果集)
  • 我也注意到了基于绑定源的方法 - >仅在更改当前记录位置时才读取子项...

我很感兴趣你的意见最好/最快的情况是什么?

2 个答案:

答案 0 :(得分:0)

这取决于你想要做什么。

如果您在需要发票时需要所有发票详细信息,请在首次访问发票时发出详细信息查询(除非您知道您始终需要两者,在这种情况下,发出一个包含两个的批次结果集)。

类似的模式适用于其他案例。

答案 1 :(得分:0)

为了最大限度地减少影响,我将一次性加载Invoice记录,然后仅在需要时延迟加载Invoice_Details。这样做的好处是可以最快速地加载所有发票数据,同时提供最低的内存使用量。