Я пытаюсь ответить на свой вопрос.
Однако я хотел бы найти ЛУЧШЕЕ / БОЛЬШЕ РАЦИОНАЛЬНОЕ решение этой проблемы.
Вот мое решение:
Редизайн 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.