NHibernate - составная сущность, соединяющая таблицу, отображаемую другой сущностью - PullRequest
0 голосов
/ 10 августа 2010

У меня есть следующие таблицы:

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

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

У меня есть объект A, который уже сопоставлен с таблицей A.

Для объекта B я пытаюсь выполнитьсоставной, так что у меня есть все данные из B, а также поля из A. Поля из A не должны быть изменены через B, хотя, они просто там для варианта использования.

I 'я пытаюсь построить мое (свободное) отображение для B следующим образом:

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

Проблема возникает, когда я пытаюсь экспортировать схему;он говорит, что таблица А уже существует.Любые идеи, или это не работает вообще?

Спасибо

1 Ответ

2 голосов
/ 11 августа 2010

Это плохая идея.Вам следует просто сослаться на A.

Если вы не хотите менять A на ссылку B, просто сделайте его закрытым и предоставьте только свойства для его свойств.

...