流利的nhibernate表每子类多次推导“跳过”中间表

时间:2013-11-05 18:55:36

标签: c# nhibernate inheritance subclass fluent-nhibernate-mapping

以下是课程:
(为简洁起见,简化了。)

public class A
{
    public virtual int Id { get; set; }
    public virtual int AProp { get; set; }
}

public class B : A
{
    public virtual int BProp { get; set; }
}

public class C : B
{
    public virtual int CProp { get; set; }
}

以下是映射:

public class AMap : ClassMap<A>
{
    public AMap()
    {
        Id(x => x.Id);
        Map(x => x.AProp);
    }
}

public class BMap : SubclassMap<B>
{
    public BMap()
    {
        Map(x => x.BProp);
        KeyColumn("Id");
    }
}

public class CMap : SubclassMap<C>
{
    public CMap()
    {
        Map(x => x.CProp);
        KeyColumn("Id");
    }
}

......问题出在此处:

当我保存C的实例时(提醒:C是一个类),

  • A表格中添加了一个新行,IdAProp
  • 新行添加到C表格,其中{相同] IdCProp
  • 嘿,B表怎么样? 绝对没有任何事情那里 表B仍然是空的,这让我感到难过。

以下是我尝试过的事情:

0 个答案:

没有答案