В надежде получить больше произвольных и необъяснимых отрицательных голосов, я отвечу на этот вопрос: я не смог найти конкретный метод для явного объявления ClassMap для использования, но я смог найти решение без добавления ненужныхподтипы или аналогичные ClassMaps, добавив значение дискриминатора в дочерний класс, установленный родителем, а затем с помощью метода .Where () отфильтровать значение дискриминатора ... примерно так:
class Bar
{
public string BarType {get; protected set};
public Bar(string barType)
{
BarType = barType;
}
}
public class FooMap : ClassMap<Foo>
{
Table("Foo");
Id(x => x.Id);
HasMany(x => x.TheoreticalBar).Where("BarType = theoretical");
HasMany(x => x.ActualBar).Where("BarType = actual");
}
Метод .Where () позволяет использовать интерполяцию и подстановку строк в случае, если вы хотите избежать магических строк в моем упрощенном примере.