映射表的附加列的子类

本文关键字:子类 映射 | 更新日期: 2023-09-27 18:11:28

我有实体类A和流利的NHibernate映射它AMap映射一些列从数据库表(几个字段丢失)。我想创建类B继承自A(不打破与其他实体的关系),并为它映射,以允许访问未被基类映射的列。问题是我不能更改基类(AAMap)中的任何一行代码。这个问题有什么解决办法吗?

映射表的附加列的子类

我不知道你想怎么用,但这是可以做到的

class B : A
{
}
class BMap : ClassMap<B>
{
    public BMap()
    {
        Table("A's tablename");
        ...
    }
}

那么这应该是可能的

someEntity.ListOfAs.Add(new B());

不知道以后会不会有问题

就我所理解的需求而言,这是每个类层次结构映射的简单表。你需要一个鉴别符列。

有关映射,请参阅该页的最后一个示例:Fluent Wiki。