Im trying to implement a "one shot delete" as described in Section 14.1.4 in
http://www.hibernate.org/hib_docs/nhibernate/html/performance.html
I have an order with a list of line items. I want to clear this list out and save a new list, but what is happening is that my new list is being appended to the old list. My code is as follows.
Code:
CurrentOrder.LineItems = null;
Set<Orders.Core.LineItem> newLines = new HashedSet<Orders.Core.LineItem>();
foreach (ShoppingCartItem li in EditBasket.Items)
{
Orders.Core.LineItem add = new Orders.Core.LineItem();
add.ParentOrder = CurrentOrder;
add.Description = li.Description;
add.ItemTax = li.SalesTax;
add.QuantityOrdered = li.Quantity;
add.ListPrice = li.ListPrice;
add.ItemNumber = li.CatalogNumber;
newLines.Add(add);
}
CurrentOrder.LineItems = newLines;
OrdersDaoFactory.GetOrderDao().Save(CurrentOrder);
Edit: Here is the snippet of the mapping file
Code:
<!-- bag Line Items-->
<set name="LineItems" inverse="true" lazy="true" cascade="all">
<key column="order_id" foreign-key="order_id" />
<one-to-many class="LineItem"/>
</set>
As always, any help or suggestions are appreciated.
Thanks
Joe