我想允许在Fluent NHibernate中重新表达。
Here我读到我必须创建两个继承自IUserCollectionType
和PersistentGenericBag<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
答案 0 :(得分:1)
Cast<T>
是位于System.Linq
命名空间中的extension method。
要使用扩展方法,您需要使用using
指令添加它的命名空间。
所以只需将以下using
添加到您的文件中即可:
using System.Linq;