如何在 Fluent nHibernate 中使用 ObservableCollection?
ObservableCollection<ItemPedido> Items
但现在在 Fluent nHibernate 中我不知道如何使用它。 有没有一种简单的方法可以将 ObservableCollection 与 Fluent nHibernate 一起使用? 我注意到有一个DLL NHibernate.Collection.Observable;
但我不知道如何替换当前使用 IList 的代码:
public virtual IList<ItemPedido> Items
{
get { return _Items; }
set { _Items = value; OnPropertyChanged(System.Reflection.MethodBase.GetCurrentMethod().Name.Substring(4)); /*OnPropertyChanged("Items");*/ }
} private IList<ItemPedido> _Items;
如何更改上述代码以使其与 Observable Collection 和 Fluent nHibernate 一起使用?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
继续使用
ObservableCollection
作为IList
的实现 - 无需更改业务代码。您所要做的就是配置 NHibernate 在执行延迟加载时将
IList
内部替换为 NhibernateObservableCollection。我使用了
为此,
非官方NHibernate Addins (unhaddins)。但 NhibernateObservableCollection 的任何其他实现可能也可以。
在 Fluent-nibernate-with-wpf-convention-to -use-unhaddins-observablelisttypet-as-Default 你会发现我用来使用 Fluent nHibernate 配置 ObservableCollection 的示例。
请注意,如果您想使用
uNhAddIns.WPF.Collections.Types.ObservableListType
:没有可用的二进制发行版,因此您必须自己从 C# 源代码编译 uNhAddIns.WPF.dll。Keep on using
ObservableCollection<T>
as implementation ofIList<T>
- no need to change the business code.All you have to do is configure NHibernate to replace the
IList<T>
internally with an NhibernateObservableCollection when doing the lazy loading.I used
from Unofficial NHibernate Addins (unhaddins) for this.
But probaly any other implementation of NhibernateObservableCollection will do as well.
At fluent-nibernate-with-wpf-convention-to-use-unhaddins-observablelisttypet-as-Default you find the example i used to configure the ObservableCollection with Fluent nHibernate.
Note if you want to use
uNhAddIns.WPF.Collections.Types.ObservableListType<T>
: There is no binary distribution for this so you have to compile uNhAddIns.WPF.dll yourself from c# sourcecode.您可以使用本文中的代码 - http://www.codeproject.com/KB/ WPF/WpfNhibernateToolkit.aspx ,或者您可以添加自定义数据视图并将 Items 属性包装到另一个视图中,就像此处所做的那样 - http://www.shawnduggan.com/?p=46 和 http://www.shawnduggan.com/?p=84 。
You can use the code from this article - http://www.codeproject.com/KB/WPF/WpfNhibernateToolkit.aspx , or you can add a custom data view and wrap your Items property into another one like it's done here - http://www.shawnduggan.com/?p=46 and http://www.shawnduggan.com/?p=84 .