I don't remember if ImmutableSet is only a wrapper to prevent modification.If ImmutableSet is only a wrapper your code are working very well.
2009/4/7 Berryl Hesh <[email protected]> > > I've got a private field in a Department class that is a SortedSet, > which is made available to clients as an ImmutableSet, like so: > > protected ISet<StaffMember> _employees = new > SortedSet<StaffMember>(); > > public virtual ISet<StaffMember> Employees { > get { return new ImmutableSet<StaffMember>(_employees); } > protected set { _employees = value; } > } > > This does make the Employees property readonly, but I'm getting an > error from NHibernate saying that the list is immutable when I try to > add to the list, for which I have the following method: > public virtual void AddEmployee(StaffMember staffMember) > { _employees.Add(staffMember); } > > The primary consumer of this method right now is the StaffMember class > on the other side of the relationship. It has a Department reference > which looks like: > private Department _department; > public virtual Department Department { > get { return _department; } > set { > if(_department == null || _department.Equals(value) > throw new ArgumentException(...); > _department = value; > _department.AddEmployee(this); > } > } > > I might not have mapped the relationship properly, but is there a > better way to expose the set than with an ImmutableSet to make it > readonly? > > Thanks for sharing, > Berryl > > > > -- 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 -~----------~----~----~----~------~----~------~--~---
