我想允许在 Fluent NHibernate 中重新做父母。
在这里,我读到我必须创建两个继承自IUserCollectionType
和的类PersistentGenericBag<MyClass>
。如果我Box
从示例更改为我自己的类名,一切正常 - 除了一件事:在继承自的类中,PersistentGenericBag<MyClass>
我无法覆盖GetOrphans()
,因为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
?
编辑
这是我得到的确切错误(不幸的是它是德语):Fehler 1 "System.Collections.Generic.ICollection<T>" enthält keine Definition für "Cast", und es konnte keine Erweiterungsmethode "Cast" gefunden werden, die ein erstes Argument vom Typ "System.Collections.Generic.ICollection<T>" akzeptiert. (Fehlt eine Using-Direktive oder ein Assemblyverweis?)