【发布时间】:2010-09-14 01:51:19
【问题描述】:
我在绑定到使用延迟加载从 NHibernate 检索到的对象时遇到了一些问题。我已经阅读了一些关于这个问题的内容,并且对我需要做些什么来解决这里的问题感到困惑。
据我了解,问题与 NHibernate 处理尚未加载的事物的代理的方式有关。是否有人使用延迟加载和 INotifyPropertyChanged 实现了 NHibernate?
现在,如果我禁用延迟加载,INotifyPropertyChanged 可以工作,但如果 UI 元素绑定到延迟加载的内容,则不会更新它们。我已经对这一切有点不知所措了,代理实现对我来说更加陌生,所以我并不完全是我在这里所需要的。 :) 我希望有一些相当简单的解决方案。
【问题讨论】:
-
我试过这个,但我不确定它是否适用于 NHibernate 查询生成的代理。至少它对我不起作用。
-
如何(具体地)没有工作?
-
我遇到了同样的问题,即延迟加载关闭时没有 UI 更新。我设置了一些断点并调用了拦截函数,创建函数也是如此。然而,在拦截中,它永远不会进入 ...== typeof(INotifyPropertyChanged) 块,这对我来说似乎很奇怪。它确实进入了 (invocation...StartsWith("set_")) 块。如果它进入那个块,似乎应该在 UI 端发生一些事情。正如我所说,我在这些东西上有点挣扎,但如果我能把它敲掉,那么我就可以重新制作 UI,而不必处理一段时间的数据。
标签: c# wpf nhibernate binding