.NET 4 ISet<>的HashSet<>替换NHibernate Iesi.Collections ISet,HashSet?我正在使用Castle代理和NHibernate 3.0。
答案 0 :(得分:18)
是。有两种方法:
ICollection<T>
并将其初始化为
HashSet<T>
。见this article。我将集合建模为私有
成员并公开IEnumerable<T>
所以这很有效,但缺点是你不能公开ISet<T>
。答案 1 :(得分:11)
不,不是这个回复。
NHibernate引擎在内部集合类上使用Iesi.Collections.ISet
接口,这些接口类用作NHibernate持久存在的类中集合的包装器。没有直接转换为System.Collections.Generic.ISet<T>
。
更新: NHibernate 4现在在内部使用来自BCL的HashSet<T>
,HashedSet<T>
已从Iesi.Collections
依赖项中删除。现在可以使用System.Collections.Generic.ISet<T>
的方法。
答案 2 :(得分:3)
是的,对于Nhibernate 4,使用System.Collections.Generic.ISet<>
现在是the way to go。