我试图回答我自己的问题。但是,我想找到更好/更合理的解决方案来解决这个问题。
这是我的解决方案:
重新设计Class D
我重新设计class D
为
public class D {
public List<MagicObj> ListofA {get;set;}
}
//New Entity added which was not there in the question before.
public class MagicObj{
public A ActualEntity{get;set;}
}
其余实体没有变化。
public interface A{
}
public class B implements A{
}
public class C implements A{
}
这种设计更改应该允许我映射
流利的映射
对于上述重新设计的类结构
D->MagicObj as HasMany(x=>x.ListofA)
MagicObj->A as ReferenceAny(x=>x.ActualEntity)
.EntityIdentifierColumn("EntityType")
.EntityIdentifierColumn("EntityId");
Class D
猜想我选择使用在和之间添加一个新的关系Class A
是我无法找到直接在 Fluent 中映射它的方法。