我目前的规划项目是微软。NET平台上,我在C#语言编写的代码。我使用NHibernate??一种流行的对象/关系映射工具??在数据访问层,和Windows Presentation Foundation(WPF)的用户界面。 WPF中如此大的吸引力的特点之一是数据绑定。虽然我最初是失望,当我发现NHibernate的集合不正常工作,WPF数据绑定盒,我很快就找到了提供了一个(部分)解决方案。 Gary的"NotifyingCollectionDemoquot;如何自定义集合类型可以建立纠正NHibernate的缺点。研究他ObservableList(这实际上是一个观察袋)如何创建相对NHibernate的API后,我开始对自己的quot工作; ObservableCollectionsquot项目,其中包括三个自定义的集合类型:袋观察,观察名单和观察组。
我创建完这些自定义的集合类型,所以你可以{A}(更新2008年12月10)在自己的项目使用。 zip归档文件包含一个Visual Studio 2005解决方案,包括三个项目。 quot; ObservableCollectionsquot;项目库,其中包含自定义集合。 quot; ObservableCollections Demoquot;项目是一个WPF程序,可以运行起到一个样本集和范例清单收集的内容。和quot; CoreHelpersquot;项目包含一些其他的辅助类,我在各个项目中使用。然而,在运行演示项目之前,你需要做到以下几点:库和演示项目中添加引用,指向您的计算机上以下NHibernate的集会(除非已在GAC):NHibernate的,Castle.DynamicProxy,Iesi.Collections,log4net的。在hibernate.cfg.xml文件中的数据库的绝对路径更改,以匹配您的计算机上的位置。quot; CoreHelpersquot的;项目包括OneToManyAssocSync helper类,使容易保持在内存中的一个一对多的双向关联的语义。演示项目,演示如何使用它。还有一个容易保持到许多许多的双向关联ManyToManyAssocSync类。 (见关于这些类从他们以前的名字命名的注释。){S0}