命名空间 'NHibernate.Collection' 中不存在类型或命名空间名称 'PersistentBag'
The type or namespace name 'PersistentBag' does not exist in the namespace 'NHibernate.Collection'
我在 Visual Studio 2013 年使用 NuGet 将 Windows SmartClient 解决方案从 nHibernate 2.2 升级到 4.0。
这一行:
sb.Append ("=" + ((NHibernate.Collection.PersistentBag) state[i]).Count.ToString() + " items");
我收到这个错误:
The type or namespace name 'PersistentBag' does not exist in the namespace 'NHibernate.Collection'
Visual Studio(输入 . 时)建议的选择是:
- AbstractPersistentCollection
- 通用(命名空间)
- IPersistentCollection(一个接口)
- PersistentArrayHolder
第二个和第三个不是类。第一个和第四个没有Count()
方法。
在这种情况下必须使用哪一个?
NHibernate 4 中没有PersistentBag
,只有PersistentGenericBag<T>
。
它是 NH 的内部类型,不应转换为。
我不知道这段代码是在哪里找到的。如果它是你自己的,你可以通过 IList
或 ICollection
访问 Count
,它们都是由包实现的。
如果它是来自您使用的框架的代码,您可能必须使用另一个 NHibernate 版本。
我也有使用它的代码。看起来您可以用 IList 转换替换 persistentBag 转换。
我在 Visual Studio 2013 年使用 NuGet 将 Windows SmartClient 解决方案从 nHibernate 2.2 升级到 4.0。
这一行:
sb.Append ("=" + ((NHibernate.Collection.PersistentBag) state[i]).Count.ToString() + " items");
我收到这个错误:
The type or namespace name 'PersistentBag' does not exist in the namespace 'NHibernate.Collection'
Visual Studio(输入 . 时)建议的选择是:
- AbstractPersistentCollection
- 通用(命名空间)
- IPersistentCollection(一个接口)
- PersistentArrayHolder
第二个和第三个不是类。第一个和第四个没有Count()
方法。
在这种情况下必须使用哪一个?
NHibernate 4 中没有PersistentBag
,只有PersistentGenericBag<T>
。
它是 NH 的内部类型,不应转换为。
我不知道这段代码是在哪里找到的。如果它是你自己的,你可以通过 IList
或 ICollection
访问 Count
,它们都是由包实现的。
如果它是来自您使用的框架的代码,您可能必须使用另一个 NHibernate 版本。
我也有使用它的代码。看起来您可以用 IList 转换替换 persistentBag 转换。