Свободные проблемы с отображением NHibernate - PullRequest
1 голос
/ 02 июня 2010
Orders Table

Id(x => x.ID, "ID");
...
HasMany<OrdersLineItems>(x => x.LineItems).KeyColumn("ID").Inverse().Cascade.All();

OrdersLineItems Table

Id(x => x.ID, "ID");
...
References(x => x.Orders, "OrdersID").ForeignKey("ID");

Я пытаюсь настроить сопоставление, в котором идентификатор из таблицы заказов указан в OrdersID в OrdersLineItemsTable.

Проблема, с которой я сталкиваюсь, заключается в следующем: order.LineItems.Add (lineItem); в моем коде я получаю сообщение об ошибке SQL:

Невозможно вставить значение NULL в столбец 'OrdersID', таблица 'MyDatabase.dbo.OrdersLineItems'; столбец не допускает пустых значений. Вставить не удается. Заявление было прекращено.

Я наблюдал за выполнением SQL-запросов и вижу, что запись «Заказы» сначала создается, и она взрывается при попытке создать запись «Заказы LineItems».

Есть предложения? Заранее спасибо.

1 Ответ

1 голос
/ 02 июня 2010

Я бы предложил использовать внешний ключ в KeyColum HasMany вместо первичного ключа OrdersLineItems:

HasMany (x => x.LineItems) .KeyColumn ( " FK_Orders ") Inverse () Cascade.All ();..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...