编辑
我有一个接口,我想以此为基础创建一些类。当我转到 BuildSchema(或 UpdateSchema)时,Nhibernate 会为接口创建一个表。我以为我找到了一种解决方法,如下所示:
接口和类:
public interface ILevel
{
int Id { get; set; }
string Name { get; set; }
}
public abstract class Level : ILevel
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}
public class LevelOne : Level { }
public class LevelTwo : Level { }
映射:
public class LevelMap : ClassMap<ILevel>
{
public LevelMap()
{
Id(x => x.Id);
Map(x => x.Name);
}
}
public class LevelOneMap : SubclassMap<LevelOne>
{
}
public class LevelTwoMap : SubclassMap<LevelTwo>
{
}
这不起作用(我做了另一个 UpdateSchema 并且出现了讨厌的 ILevel 表)。
是否有我不知道完全忽略接口/抽象类的配置?