【发布时间】:2012-01-22 04:52:14
【问题描述】:
我正在尝试将从 NHibernate 会话中提取的对象绑定到 DataGridView,但遇到了问题。
我有一个会话,我在其中获取绑定到组合框列的所有“查找”项,然后查询对象本身。不知何故,这仍然会导致主对象上的代理子对象。我什至将查找项的映射更改为渴望获取,但我仍然以某种方式获得代理。
这是我获取对象的方式:
Dim _makes As IList(Of Make) = session.QueryOver(Of Make).List
Dim _models As IList(Of Model) = session.QueryOver(Of Model).List
Dim _cars as IList(of Car) = session.QueryOver(of Car).List
' A car has a .Make and a .Model that are picked from a DGV ComboBox Column
当我浏览它们时,会话不会在数据库中查询汽车的品牌或型号,因为它发现它已经在缓存中。如果是这种情况 - 为什么它仍然是代理对象?
由于我似乎无法避免代理,我想知道将这些对象绑定到 DataGridView 的最佳方法是什么。
我看过一些讨论这个问题的帖子,例如:NHibernate proxy causing problems with databinding 但它已经有几年历史了,从那时起 NHibernate 发生了很大变化。现在有没有新的或更好的解决方案来解决这个问题?
提前致谢。
编辑 从这篇文章中获得一些见解后,我发布了另一个问题。我还找到了一个简单的解决方案 - 你可以在这里看到它:Binding a collection of objects to a ComboboxColumn in a DataGridView
【问题讨论】:
标签: vb.net nhibernate datagridview fluent-nhibernate