NHibernate DuplicateMappingException при отображении абстрактного класса и подкласса

У меня есть абстрактный класс и подклассы этого, и я хочу отобразить это на свою базу данных с помощью NHibernate. Я использую Быстрый и как сделать отображение. Но когда я добавляю отображение подкласса NHibernate. DuplicateMappingException брошен, когда он отображается. Почему?

Вот мои (упрощенные) классы:

public abstract class FieldValue
{
    public int Id { get; set; }
    public abstract object Value { get; set; }
}

public class StringFieldValue : FieldValue
{        
    public string ValueAsString { get; set; }
    public override object Value
    {
        get
        {
            return ValueAsString; 
        } 
        set
        {
            ValueAsString = (string)value; 
        }
    } 
}

И отображения:

public class FieldValueMapping : ClassMap
{
    public FieldValueMapping()
    {
        Id(m => m.Id).GeneratedBy.HiLo("1");
        // DiscriminateSubClassesOnColumn("type"); 
    }
}

public class StringValueMapping : SubclassMap
{
    public StringValueMapping()
    { 
        Map(m => m.ValueAsString).Length(100);
    }
}

И исключение:

> NHibernate.MappingException : Could not compile the mapping document: (XmlDocument)
  ----> NHibernate.DuplicateMappingException : Duplicate class/entity mapping NamespacePath.StringFieldValue

Какие-либо идеи?

6
задан accdias 5 December 2019 в 19:27
поделиться