У меня есть таблица, назовем А. В А есть поле - objId.
Есть и другие таблицы, назовем их B, C и D., в которых есть список записей A. Запись должна быть создана путем добавления записи A в список записей A одной из таблиц B, C и D. Поле objId должно быть PK (id) записи B/C/D У кого есть список А.
что означало - objId - это FK для многих таблиц. Я начинаю с таблицы B. Но после создания таблицы B создается поле objId таблицы A. а что теперь будет с таблицами C и D? Они не могут снова создать столбец objId в таблице.
Код:
<id name="Id">
<generator class="guid" />
</id>
<bag name="As" cascade="All">
<key column="ObjId" />
<one-to-many class="A" />
</bag>
<class name="A">
<id name="Id">
<generator class="guid" />
</id>
<property name="ObjId" />
public class B
{
public virtual Guid Id { get; set; }
public virtual IList<A> As{ get; set; }
}
public class A
{
public virtual Guid Id { get; set; }
public virtual string ObjId { get; set; }
}
добавление записи A к B:
this.Update(session =>
{
var bRecord = ....;
bRecord.As.Add(new ARecord {
...
});
session.Update(bRecord);
});
Как мне создать правильную ассоциацию?