代码之家  ›  专栏  ›  技术社区  ›  Andy

NHibernate-复合实体,由另一个实体映射的连接表

  •  0
  • Andy  · 技术社区  · 14 年前

    我有以下表格:

    A
    --
    Id : int
    SomeString : varchar(20)
    
    B
    --
    Id : int
    BString: nvarchar(10)
    AId : int // FK to A
    

    我有一个实体A,它已经映射到表A。

    对于实体B,我尝试进行一个合成,这样我就有了来自B的所有数据,以及来自a的字段。但是,来自A的字段不应该通过B进行更改,它们只是用于用例。

      Table("B");
      Join(
        "A"
        m =>
          {
            m.KeyColumn("AId");
            m.Inverse();
            m.Map(p => p.SomeString);
          }
      );
      Map(p => p.BString);
    

    问题发生在我尝试导出模式时;它说表A已经存在了。有什么想法吗,或者这根本不管用?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Diego Mijelshon    14 年前

    这是个坏主意。你应该引用A。