Одновременная вставка родительского и дочернего элементов с помощью NHibernate

Я пытаюсь сохранить (вставить) родительский объект со списком дочерних объектов. Оба объекта используют Guid в качестве первичных ключей. Ключи не допускают значения NULL, и в базе данных не заданы отношения ключей.

Сохранение не работает, возникает исключение, утверждающее, что я пытаюсь сохранить значение NULL во внешнем ключе Parent в таблице Child.

Я ожидал, что nhibernate создаст ключ для Parent и сообщит об этом его дочерним объектам. Это ограничение NHibernate или использования Guids в качестве первичных ключей?

Этот ответ предполагает, что вы должны установить родительский элемент вручную, действительно ли это единственный способ?

Вот мои сопоставления для справки :

Сопоставление родителей:

HasMany(x => x.Children).KeyColumn("ParentKey").Inverse().Cascade.All();

Сопоставление детей:

 References(x => x.Parent).Not.Nullable().Column("ParentKey");

10
задан Community 23 May 2017 в 12:03
поделиться