用于映射表的附加列的子类

时间:2011-10-14 12:14:35

标签: c# nhibernate fluent-nhibernate

我有实体类 A 和Fluent NHibernate映射 AMap ,它映射了数据库表中的一些列(缺少一些字段)。我想创建继承自 A 的类 B (不破坏与其他实体的关系)并映射它以允许访问未由基类映射的列。问题是我无法更改基类中的任何代码行( A AMap )。有没有解决这个问题的方法?

2 个答案:

答案 0 :(得分:0)

我不确定你想怎么用它,但这可以做到

class B : A
{

}

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

那么这应该是可能的

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

不知道在路上是否有问题

答案 1 :(得分:0)

据我所知,这是一个简单的table per class hierarchy映射。你需要一个鉴别器列。

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