Hello,
I have this typical parent/child relationship. I want to delete/update the
child collection without explicitly call session.delete(child)
Parent mapping:
<bag name="OrderTransactions" inverse="true" access="property"
cascade="all-delete-orphan">
<key column="`OrderId`"/>
<one-to-many class="OrderTransaction"/>
</bag>
Child mapping:
<many-to-one name="OrderHeader" column="`OrderId`" class="OrderHeader"
access="property" not-null="true"/>
[Test]
public void CanUpdateOrderTransaction()
{
var customerOrder = _orderModel.GetOrderById(new
Guid("1f384088-f199-4c93-878a-42d4eb0ac615"));
var menuItem = _menuModel.GetMenuItemByMenuNo("1051");
customerOrder.ClearTransactions();
customerOrder.AddTransaction(new OrderTransaction()
{
MenuItem = menuItem,
Quantity = 1,
UnitPrice = 3.4f
});
_orderModel.SaveCustomerOrder(customerOrder);
customerOrder = _orderModel.GetOrderById(new
Guid("1f384088-f199-4c93-878a-42d4eb0ac615"));
Assert.IsNotNull(customerOrder);
Assert.AreEqual(1, customerOrder.OrderTransactions.Count);
Assert.IsTrue(customerOrder.OrderTransactions[0].MenuItem.Equals(menuItem));
}
The test fails with the message:
*** Failures ***
Execute
NHibernate.PropertyValueException: not-null property references a null
or transient
valueXenon.XenonPOS.DomainModel.Entities.OrderTransaction.OrderHeader
EntityName: Xenon.XenonPOS.DomainModel.Entities.OrderTransaction
PropertyName: OrderHeader
The problem is, when in child mapping not-null = "true" the test fails but
if it is set to false the test passes. I need to be able to set not null
property true because of the consistency of the database and get the test
pass as well. This is my first Nhibernate project. I tried my level best to
google the solution of the problem before asking you guys and this far i
have reached. Any help will be greatly appreciated.
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.