It should work.Code tested in NH and applyed in uNhAddIns. 2009/8/25 Chris Willard <[email protected]>
> > NH 2.1.0.4000 (GA) > > On Aug 25, 12:14 pm, Fabio Maulo <[email protected]> wrote: > > NH version ? > > > > 2009/8/25 Chris Willard <[email protected]> > > > > > > > > > I just tried 731 and that did the trick. I no longer get an error when > > > removing an item. Thanks! Now if I could just figure out how to get > > > the CollectionTypeFactoryClass configuration to work within fluent. I > > > am using the ExposeConfiguration method which exposes > > > NHibernate.Cfg.Configuration. I see that the property is added to the > > > Properties collection after my call but it seems to just ignore it... > > > > > Thanks again, > > > Chris > > > > > On Aug 25, 10:57 am, José Romaniello <[email protected]> wrote: > > > > It is done in the R731. > > >http://code.google.com/p/unhaddins/source/detail?r=731 > > > > <http://code.google.com/p/unhaddins/source/detail?r=731> > > > > 2009/8/25 José Romaniello <[email protected]> > > > > > > > I will make the change to return and index in the removed event of > > > > > the observableset . > > > > > For the other hand, somewhere fluent nh has to give you some access > to > > > the > > > > > nhibernate configuration. > > > > > > > 2009/8/25 Chris Willard <[email protected]> > > > > > > >> Yeah, it is pretty strange. It seems to work fine with the Happy > > > > >> Nomad implementation of ObservableSet I mentioned at the beginning > of > > > > >> my post so I guess I can just stick with that for now. I just > wish I > > > > >> could figure out a way to configure it globally via Fluent. Thank > you > > > > >> both for all your help and advice. > > > > > > >> Chris > > > > > > >> On Aug 25, 6:35 am, José Romaniello <[email protected]> > wrote: > > > > >> > Chris , this could be a problem of the calling code (maybe wpf), > > > since > > > > >> > withing a Set we haven't a index for items.. And the event > handler > > > of > > > > >> > "CollectionChanged" want the index of the item that was remove. > You > > > > >> could > > > > >> > see the test here:http://digg.com/u1BO0j( > > > > >> > removeall_should_raise_collectionchanged_for_removeditems). > > > > > > >> > I don't know how to set with fluent nhibernate the collection > type > > > > >> factory. > > > > > > >> > For the other hand, 100% AGREE with Fabio. > > > > >> > For instance the class that Fabio show to you, in "runtime", > > > implements > > > > >> > INotifyPropertyChanged and IDataErrorInfo. > > > > >> > There is also another behavior for IEditableObject, actually > there > > > are > > > > >> > two. You could see how I configure the entityhttp:// > digg.com/u1BO11 > > > > > > >> > 2009/8/25 Fabio Maulo <[email protected]> > > > > > > >> > > what I mean is that you can do the same without that boiled > code. > > > > > > >> > > 2009/8/25 Chris Willard <[email protected]> > > > > > > >> > >> Those interfaces are implemented in my entity base class > > > > >> > >> (BindableObject) from which GuidPOCO is derived (Section > > > > GuidPOCO > > > > > >> > >> BindableObject). I am not familiar with the term boiled > code, so > > > I > > > > >> am > > > > >> > >> not sure how to respond. Please let me know if you need any > > > > >> > >> additional info or if I am misunderstanding something. > > > > > > >> > >> This is how my base class is defined: > > > > > > >> > >> public abstract class BindableObject : > INotifyPropertyChanged, > > > > >> > >> IEditableObject, IDataErrorInfo > > > > > > >> > >> Thanks in advance, > > > > >> > >> Chris > > > > > > >> > >> On Aug 24, 10:53 pm, Fabio Maulo <[email protected]> > wrote: > > > > >> > >> > Classes in this domainhttp:// > > > > >> > >> > code.google.com/p/unhaddins/source/browse/trunk/Examples/uNHAd. > > > .. > > > > >> > >> > < > > > > >http://code.google.com/p/unhaddins/source/browse/trunk/Examples/uNHAd > > > > >> .. > > > > >> > >> .>are > > > > >> > >> > implementing INotifyPropertyChanged, IEditableObject, > > > > >> IDataErrorInfo... > > > > >> > >> > but... where is the boiled code ? > > > > > > >> > >> > how that entities can work in this video ? (see bottom) > > > > > > >> > http://jfromaniello.blogspot.com/2009/08/nhibernate-and-wpf-viewmodel. > > > .. > > > > > > >> > >> > 2009/8/25 Chris Willard <[email protected]> > > > > > > >> > >> > > Yeah, I was thinking he wanted to see the entire entity > for > > > some > > > > >> > >> > > reason... > > > > > > >> > >> > > On Aug 24, 10:06 pm, Fabio Maulo <[email protected]> > > > wrote: > > > > >> > >> > > > too much boiled code. > > > > > > >> > >> > > > 2009/8/24 Chris Willard < > [email protected]> > > > > > > >> > >> > > > > Oh yeah, sorry. I am calling this extension method > to > > > remove > > > > >> the > > > > >> > >> > > > > item: > > > > > > >> > >> > > > > public static void RemoveRange<T>(this > > > ICollection<T> > > > > >> > >> > > > > collection, IEnumerable<T> items) > > > > >> > >> > > > > { > > > > >> > >> > > > > if (items != null) > > > > >> > >> > > > > { > > > > >> > >> > > > > foreach (var item in items) > > > > >> > >> > > > > { > > > > >> > >> > > > > collection.Remove(item); > > > > >> > >> > > > > } > > > > >> > >> > > > > } > > > > >> > >> > > > > } > > > > > > >> > >> > > > > And this is the entity: > > > > > > >> > >> > > > > using System; > > > > >> > >> > > > > using System.Collections.Generic; > > > > >> > >> > > > > using System.Linq; > > > > >> > >> > > > > using System.Text; > > > > >> > >> > > > > using RGI.Utilities; > > > > >> > >> > > > > using RGI.Utilities.Validators; > > > > >> > >> > > > > using uNhAddIns.WPF.Collections; > > > > > > >> > >> > > > > namespace RGI.BMS.POCO > > > > >> > >> > > > > { > > > > >> > >> > > > > [Serializable] > > > > >> > >> > > > > public class Section : GuidPOCO > > > > >> > >> > > > > { > > > > >> > >> > > > > #region Constructors > > > > > > >> > >> > > > > public Section() : base() > > > > >> > >> > > > > { > > > > >> > >> > > > > this.SectionNumbers = new > > > > >> > >> ObservableSet<SectionNumber>(); > > > > >> > >> > > > > } > > > > > > >> > >> > > > > #endregion > > > > > > >> > >> > > > > #region Fields > > > > > > >> > >> > > > > private string _Name; > > > > >> > >> > > > > private Employee _ModifiedBy; > > > > >> > >> > > > > private DateTime _ModifiedDate; > > > > >> > >> > > > > private ICollection<SectionNumber> > > > _SectionNumbers; > > > > > > >> > >> > > > > #endregion > > > > > > >> > >> > > > > #region Properties > > > > > > >> > >> > > > > public virtual string Name > > > > >> > >> > > > > { > > > > >> > >> > > > > get { return _Name; } > > > > >> > >> > > > > set > > > > >> > >> > > > > { > > > > >> > >> > > > > _Name = value; > > > > >> > >> > > > > NotifyPropertyChanged("Name"); > > > > >> > >> > > > > } > > > > >> > >> > > > > } > > > > > > >> > >> > > > > public virtual Employee ModifiedBy > > > > >> > >> > > > > { > > > > >> > >> > > > > get { return _ModifiedBy; } > > > > >> > >> > > > > set > > > > >> > >> > > > > { > > > > >> > >> > > > > _ModifiedBy = value; > > > > >> > >> > > > > NotifyPropertyChanged("ModifiedBy"); > > > > >> > >> > > > > } > > > > >> > >> > > > > } > > > > > > >> > >> > > > > public virtual DateTime ModifiedDate > > > > >> > >> > > > > { > > > > >> > >> > > > > get { return _ModifiedDate; } > > > > >> > >> > > > > set > > > > >> > >> > > > > { > > > > >> > >> > > > > _ModifiedDate = value; > > > > >> > >> > > > > NotifyPropertyChanged("ModifiedDate"); > > > > >> > >> > > > > } > > > > >> > >> > > > > } > > > > > > >> > >> > > > > public virtual ICollection<SectionNumber> > > > > >> SectionNumbers > > > > >> > >> > > > > { > > > > >> > >> > > > > get { return _SectionNumbers; } > > > > >> > >> > > > > set > > > > >> > >> > > > > { > > > > >> > >> > > > > _SectionNumbers = value; > > > > >> > >> > > > > > NotifyPropertyChanged("SectionNumbers"); > > > > >> > >> > > > > } > > > > >> > >> > > > > } > > > > > > >> > >> > > > > #endregion > > > > > > >> > >> > > > > #region Methods > > > > > > >> > >> > > > > public override int GetHashCode() > > > > >> > >> > > > > { > > > > >> > >> > > > > System.Text.StringBuilder sb = new > > > > >> > >> > > > > System.Text.StringBuilder(); > > > > > > >> > >> > > > > sb.Append(this.GetType().FullName); > > > > >> > >> > > > > sb.Append(Id); > > > > >> > >> > > > > sb.Append(_ModifiedBy); > > > > >> > >> > > > > sb.Append(_ModifiedDate); > > > > >> > >> > > > > sb.Append(_Name); > > > > > > >> > >> > > > > return sb.ToString().GetHashCode(); > > > > >> > >> > > > > } > > > > > > >> > >> > > > > #endregion > > > > > > >> > >> > > > > #region Readonly Properties > > > > > > >> > >> > > > > public virtual string NumberDisplay > > > > >> > >> > > > > { > > > > >> > >> > > > > get > > > > >> > >> > > > > { > > > > >> > >> > > > > StringBuilder bld = new > StringBuilder(); > > > > > > >> > >> > > > > //Get sorted list > > > > >> > >> > > > > var numbers = > > > this.SectionNumbers.OrderBy(o => > > > > >> > >> > > > > o.Number); > > > > > > >> > >> > > > > foreach (var item in numbers) > > > > >> > >> > > > > { > > > > >> > >> > > > > bld.Append(item.Number); > > > > >> > >> > > > > if (!numbers.Last().Equals(item)) > > > > >> > >> > > > > bld.Append(", "); > > > > >> > >> > > > > } > > > > > > >> > >> > > > > return bld.ToString(); > > > > >> > >> > > > > } > > > > >> > >> > > > > } > > > > > > >> > >> > > > > #endregion > > > > > > >> > >> > > > > #region Validation > > > > > > >> > >> > > > > public override string this[string columnName] > > > > >> > >> > > > > { > > > > >> > >> > > > > get { return CheckValidation(this, > > > columnName); } > > > > >> > >> > > > > } > > > > ... > > > > read more » > > > -- Fabio Maulo --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
