Почему моя коллекция сумок NHibernate не устанавливает динамический «родительский идентификатор» детей?

У меня есть новый объект с коллекцией новых объектов в нем на некотором свойстве как IList. Я вижу, через sql profiler выполняются два запроса на вставку: один для родителя, который имеет новый идентификатор guid, и один для дочернего, однако внешний ключ для дочернего элемента, который ссылается на родителя, является пустым guid. Вот мое отображение на родителя:


  






  
  
 

В классе Backer.cs я определил свойство BackerEntries как

IList

Когда я пытаюсь сохранить переданную сущность SaveOrUpdate, я получаю следующие результаты в SQL Server Profiler:

exec sp_executesql N 'INSERT INTO Backer (Name, PostCardSizeId, ItemNumber, BackerId) ЗНАЧЕНИЯ (@ p0, @ p1, @ p2, @ p3) ', N»@ p0 nvarchar (3), @ p1 uniqueidentifier, @ p2 nvarchar (3), @ p3 uniqueidentifier ', @ P0 = N»QAA», @ P1 =»BC95E7EB-5EE8-44B2-82FF30F5176684D», @ P2 = N»QAA», @ P3 =»18FBF8CE-FD22-4D08-A3B1-63D6DFF426E5'

exec sp_executesql N 'INSERT INTO BackerEntry (BackerId, BackerEntryTypeId, Имя, Описание, MaxLength, IsRequired, Priority, BackerEntryId) ЗНАЧЕНИЯ (@ p0, @ p1, @ p2, @ p3, @ p4, @ p5, @ p6, @ p7) ', N»@ p0 uniqueidentifier, @ p1 uniqueidentifier, @ p2 nvarchar (5), @ p3 nvarchar (5), @ p4 int, @ p5 bit, @ p6 int, @ p7 uniqueidentifier ', @ P0 =»00000000-0000-0000-0000-000000000000', @ P1 =»2C5BDD33-5DD3-42EC-AA0E-F1E548A5F6E4', @ P2 = N»qaadf», @ P3 = N»wasdf», @ P4 = 0, @ p5 = 1, @ p6 = 0, @ p7 =»FE9C4A35-6211-4E17-A75A-60CCB526F1CA»

Как вы можете видеть, он не сбрасывает пустой guid для BackerId на дочернем элементе в новый настоящий guid родительского элемента.

Наконец, бросок исключения:

"NHibernate.Exceptions.GenericADOException: could not insert: [CB.ThePostcardCompany.MiddleTier.BackerEntry][SQL: INSERT INTO BackerEntry (BackerId, BackerEntryTypeId, Name, Description, MaxLength, IsRequired, Priority, BackerEntryId) VALUES (?, ?, ?, ?, ?, ?, ?, ?)] ---\u003e System.Data.SqlClient.SqlException: The INSERT statement conflicted with the FOREIGN KEY constraint

РЕДАКТИРОВАТЬ: РЕШЕНО! Первый ответ ниже указал мне правильное направление. Мне нужно было добавить эту обратную ссылку на дочернее отображение и класс. Это позволило ему работать чисто .net - однако при приеме json произошел разрыв соединения, поэтому мне пришлось придумать какой-нибудь изворотливый код для 'повторно прикрепить» ребенок.

Ответы на вопрос(2)

Ваш ответ на вопрос