【发布时间】:2009-10-21 22:48:36
【问题描述】:
背景
使用 NHibernate 的 WinForms 应用程序。应用程序采用 MDI 样式,每个 MDI 子窗体在 Load 时打开一个新的 NHibernate 会话,该会话在窗体的生命周期内保持打开状态。
问题
我的应用程序基本上是一个“订单管理”或“采购”系统。一种特定形式使用大量“查找”列表。比如产品列表、供应商列表、位置列表、UnitsOfMeasurement 列表、PriceQuotes 列表等。
大量列表,所有列表在构建表单时加载。
问题:我需要查找列表,但我需要加载更快的表单。表单执行所有查找所需的时间太长。如何获得更好的性能并保留查找列表?
我的想法
我是否可以加载一次查找列表并在应用程序的整个生命周期中保留它们,并定期检查列表是否过时?
我可以只加载列表的文本描述,而不是持有一堆 IList、IList 等,我可以持有一堆 IList,然后当我保存时,针对 NHibernate 执行 Gets获取实物。
还有其他我没有想到的方法吗?
【问题讨论】:
标签: winforms nhibernate