C# - 包含子对象列表的对象列表

时间:2017-12-05 09:34:43

标签: c# database performance object

我对如何构建代码有疑问:

我想在4个不同的ListView中显示对象列表。 具体来说,我有一份合同清单,每份合同都包含一份转包清单,每个分包合同都有一个装配清单,每个装配包含一份清单。 对于数据库我没有问题,我为每个对象创建了一个表,它们通过Id链接。

但是直到现在,当我从ListView转到另一个时,我在合同上制作了一个双clic,以显示包含其所有Subcontract的ListView。它还意味着每次都有一个SQL请求。

我只想添加一个属性:

List<Subcontract> ListSubcontract {get;set;}

在我的Subcontract对象中添加属性:

List<Assembly> ListAssemblies {get;set;}

Ans for Assembly:

List<Detail> ListDetails {get;set;}

我只是想在性能方面,这是一件好事,因为我的Contract对象将有一个列表,列表,列表......

因此,对于你来说,最好在每个&#34; double-clic&#34;上进行SQL查询。当我想&#34;导航&#34;?或者最好是一次性加载&#34;我的合同列表,然后只导航我已经构建的对象,只更新ListCollections?

提前感谢您的建议

1 个答案:

答案 0 :(得分:0)

从最简单,最灵活的解决方案开始,当您发现性能问题时,可以解决这些问题。如果往返数据库的成本很高,那么有多种方法可以缓存数据以优化数据。话虽如此,如果您提前知道需要获取大量数据,最小化查询数量通常是一个很好的策略。