【发布时间】:2014-11-01 13:11:05
【问题描述】:
由于我安装了当前版本的 Nhibernate(版本 4.0.0.4000),不再包含 Iesi.Collections.Generic.HashedSet。
我在代码的很多部分都使用了这种集合类型,因为它有一个“AddAll”方法,这对我非常有用。
但是 - 现在在同一个命名空间中只剩下 3 种类型:
LinkedHashSet<T>
ReadOnlySet<T>
SychronizedSet<T>
他们都没有这样的方法。 我尝试自己实现它,但它不起作用。
这是我所做的:
-
创建了一个接口“IMySet”
公共接口 IMySet : ISet { void AddAll(IEnumerable items); }
从“LinkedHashSet”实现复制完整源代码,将其重命名为“TestSet”并替换派生接口。
之前:
public class TestSet<T> : ISet<T>
之后:
public class TestSet<T> : IMySet<T>
不幸的是,这不起作用。如果我尝试保存实现 IMySet 的对象,则会发生错误:
NHibernate.Tuple.Entity.PocoEntityTuplizer.SetPropertyValuesWithOptimizer(Object entity, Object[] values)
我不明白有什么问题。有人可以帮忙吗?
【问题讨论】:
标签: c# nhibernate set mapping