转换ICollection以覆盖GetOrphans()

时间:2012-11-01 12:20:09

标签: c# nhibernate casting

我想允许在Fluent NHibernate中重新表达。
Here我读到我必须创建两个继承自IUserCollectionTypePersistentGenericBag<MyClass>的类。如果我将Box从示例更改为我自己的类名,一切正常 - 除了一件事:在继承自PersistentGenericBag<MyClass>的类中,我无法覆盖GetOrphans(),因为{{1}没有为Cast()定义。
这就是我想要的:

ICollection

如何在public override ICollection GetOrphans(object snapshot, string entityName) { var orphans = base.GetOrphans(snapshot, entityName) .Cast<MyCalss>() .Where(b => ReferenceEquals(null, b.CurrentStorage)) .ToArray(); return orphans; } 上使用Cast

修改
这是我得到的确切错误(不幸的是它是德语):ICollection

1 个答案:

答案 0 :(得分:1)

Cast<T>是位于System.Linq命名空间中的extension method

要使用扩展方法,您需要使用using指令添加它的命名空间。

所以只需将以下using添加到您的文件中即可:

using System.Linq;