私は流暢な nhibernate を使用しており、派生クラスが何であるかに依存する特定のテーブルに、それ自体では存在できない抽象基本クラスのプロパティをマップしようとしています。
public class UnmappedClass : Entity<Guid>
{
// This class isn't mapped to a table on its own, its mapping depends on the class that uses it
}
public abstract class BaseClass : Entity<Guid>
{
// mapping depends on derived class, not mapped to anything in base class
protected IList<UnmappedClass> myList = new List<UnmappedClass>();
public virtual IEnumerable<UnmappedClass> Stuff
{
get { return myList.ToList(); }
}
}
public class DerivedClass : BaseClass
{
// At this point, I need to map MyClass in member myList to a table specific to DerivedClass
}
オーバーライドで次のことを試しましたが、エラーが発生しましたInvalid object name 'UnmappedClass'.
mapping.HasMany(Reveal.Member<DerivedClass, IEnumerable<UnmappedClass>>("myList"))
.Table("TableName")
.Access.Field()
.Cascade.AllDeleteOrphan()
.Inverse();