我有一个抽象类,以及它的子类,我想使用NHibernate将它映射到我的数据库.我正在使用Fluent,并在wiki上阅读如何进行映射.但是当我添加子类的映射时,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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
和映射:
public class FieldValueMapping : ClassMap<FieldValue>
{
public FieldValueMapping()
{
Id(m => m.Id).GeneratedBy.HiLo("1");
// DiscriminateSubClassesOnColumn("type");
}
}
public class StringValueMapping : SubclassMap<StringFieldValue>
{
public …Run Code Online (Sandbox Code Playgroud) nhibernate abstract-class nhibernate-mapping fluent-nhibernate