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

时间:2010-08-10 19:12:31

标签: c# nhibernate fluent-nhibernate composite

我有以下表格:

A
--
Id : int
SomeString : varchar(20)

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

我有一个已经映射到表A的实体A.

对于实体B,我正在尝试复合,以便我拥有来自B的所有数据,以及来自A的字段。来自A的字段不应该通过B来改变,但它们是只是用于用例。

我正在尝试为B构建我的(流畅的)映射:

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

当我尝试导出架构时出现问题;它说表A已经存在。任何想法,或者根本不起作用?

由于

1 个答案:

答案 0 :(得分:2)

这是一个坏主意。你应该参考A。

如果您不想从B的引用中更改A,只需将其设为私有,并仅显示其属性的getter。