Mar*_*ioH 11 .net nhibernate desktop-application
我发现在桌面应用程序中管理会话要困难得多,因为你无法利用像HttpContext这样明确的键盘.那么如何管理会话生命周期以利用延迟加载但没有为整个应用程序打开一个会话?
我认为这可以归结为你的物体的设计。由于可以在每个对象级别强制执行延迟加载,因此在考虑会话管理时可以利用这一事实。
例如,我有一堆数据丰富且延迟加载的对象,并且我有一个网格/摘要视图以及它们的详细信息视图。在网格摘要视图中,我不使用对象的延迟加载版本。我使用代理对象来呈现该数据,并且该代理对象不是延迟加载的。
另一方面,一旦用户选择该记录进行查看/编辑,并且您进入该对象的多页详细信息视图,此时我们就会对特定对象应用延迟加载。现在,数据是延迟加载的,具体取决于仅按需查看哪些详细信息。这样,为延迟加载而打开的会话范围仅在使用详细信息视图时持续。
归档时间: |
|
查看次数: |
4962 次 |
最近记录: |