我想允许在 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?)