I'm trying to do things DDDish (the model doesn't know about AR).

As such I updated the model (removed the item) and am now trying to
figure out how to persist the changes.



On Oct 28, 12:10 pm, "Markus Zywitza" <[EMAIL PROTECTED]>
wrote:
> I'm dumb...
>
> AllDeleteOrphan only deletes Items that have no more cart, but that isn't
> the case here. Did you try to simple delete the item via ARMediator after
> removing it from the collection?
>
> -Markus
>
> 2008/10/28 [EMAIL PROTECTED] <[EMAIL PROTECTED]>
>
>
>
> > Thanks for all the help markus. We're making some progress, but it
> > still doesn't work ...
>
> > Here's the relation:
>
> > [HasMany(typeof(EcoShoppingCartItem), ColumnKey = "ShoppingCartId",
> > Table = "EcoShoppingCartItems", Lazy = true, Cascade =
> > ManyRelationCascadeEnum.AllDeleteOrphan)]
>
> > Here's the deletion of item:
>
> >        public virtual void DeleteItem(ItmItem item)
> >        {
> >            EcoShoppingCartItem foundItem =
> > GetShoppingCartItemIfItExists(item);
> >            if (foundItem != null)
> >            {
> >                Items.Remove(foundItem);
> >            }
> >        }
>
> > Here's the Save:
>
> > ActiveRecordMediator<T>.Save(entity);
>
> > I can't update items in the IList<> or delete items from the IList but
> > I can add them all day long ... thanks again.
>
> > On Oct 28, 10:36 am, "Markus Zywitza" <[EMAIL PROTECTED]>
> > wrote:
> > > Another point:
>
> > > When you use SessionScope in the UT, you have to manually flush the scope
> > > before testing if someone changed in the DB. AutoFlush is currently
> > broken
> > > due to NH2. I'm working on that but I'm kinda stuck there... :-(
>
> > > -Markus
>
> > > 2008/10/28 [EMAIL PROTECTED] <[EMAIL PROTECTED]>
>
> > > > I get an error that the belongsto is missing when I remove it.
>
> > > > Also tried that cascase type and the others. Still no luck.
>
> > > > I've also tried changing quantity on one of the items and persisting
> > > > and no luck.
>
> > > > Unit tests show the model is being update correctly. The changes are
> > > > not being persisted. Anyone have any ideas?
>
> > > > Thanks,
>
> > > > Kyle
>
> > > > On Oct 28, 3:13 am, "Markus Zywitza" <[EMAIL PROTECTED]> wrote:
> > > > > Try with
>
> > > > > Cascade = ManyRelationCascadeEnum.AllDeleteOrphan
>
> > > > > And consider removing the BelongsTo completely. There is normally no
> > need
> > > > to
> > > > > navigate from Item to ShoppingCart.
>
> > > > > Here is my mapping for a similar model:
>
> > > > >  [ActiveRecord]
> > > > >  public class ShoppingCart
> > > > >  {
> > > > >   private Guid id;
> > > > >   private string customer;
> > > > >   private IList<CartItem> addresses = new List<CartItem>();
> > > > >   [PrimaryKey(PrimaryKeyType.GuidComb, Access =
> > > > > PropertyAccess.NosetterCamelcase)]
> > > > >   public Guid Id
> > > > >   {
> > > > >    get { return id; }
> > > > >   }
> > > > >   [Property]
> > > > >   public string Customer
> > > > >   {
> > > > >    get { return customer; }
> > > > >    set { customer = value; }
> > > > >   }
> > > > >   [HasMany(typeof(CartItem),
> > > > >    RelationType = RelationType.List, Index = "pos",
> > > > >    Access = PropertyAccess.NosetterCamelcase,
> > > > >    Cascade = ManyRelationCascadeEnum.AllDeleteOrphan, ColumnKey =
> > "cart",
> > > > > Table = "items")]
> > > > >   public IList<CartItem> Addresses
> > > > >   {
> > > > >    get { return addresses; }
> > > > >   }
> > > > >  }
>
> > > > >  [ActiveRecord("items")]
> > > > >  public class CartItem
> > > > >  {
> > > > >   private Guid id;
> > > > >   private string desc;
> > > > >   [PrimaryKey(PrimaryKeyType.GuidComb, Access =
> > > > > PropertyAccess.NosetterCamelcase)]
> > > > >   public Guid Id
> > > > >   {
> > > > >    get { return id; }
> > > > >   }
> > > > >   [Property(NotNull = true)]
> > > > >   public string Desc
> > > > >   {
> > > > >    get { return desc; }
> > > > >    set { desc = value; }
> > > > >   }
> > > > >  }
>
> > > > > -Markus
>
> > > > > 2008/10/28 [EMAIL PROTECTED] <[EMAIL PROTECTED]>
>
> > > > > > I have a shopping cart object, it hasmany shoppingcartitems. pretty
> > > > > > simple.
>
> > > > > > On the cart object I have RemoveItem .. it looks like this:
>
> > > > > > Items.Remove(foundItem);
>
> > > > > > Then I save the cart (ActiveRecordMediator) hoping the shopping
> > cart
> > > > > > item will be affected an no beans.
>
> > > > > > here's the relevant mapping(s):
>
> > > > > > [BelongsTo("ShoppingCartId", Type = typeof(ShoppingCart), NotNull =
> > > > > > true, Cascade = CascadeEnum.All), ValidateNonEmpty]
>
> > > > > > [HasMany(typeof(ShoppingCartItem), ColumnKey = "ShoppingCartId",
> > Lazy
> > > > > > = true, Cascade = ManyRelationCascadeEnum.All)]
>
> > > > > > Thanks for any/all help. I'm beating my head against the wall on
> > this
> > > > > > one.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" 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/castle-project-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to