FWIW, my 'vote' is for Option 2 (for the positive reasons mentioned and for the negative reason mentioned in Option 1). It seems the cleaner solution to me.
Steve Bohlen [email protected] http://blog.unhandled-exceptions.com http://twitter.com/sbohlen On Sat, Oct 6, 2012 at 11:09 AM, Oskar Berggren <[email protected]>wrote: > Hi, > > To support the order-by attribute in collection mapping, NHibernate uses > the OrderedSet class from Iesi.Collections. Unfortunately there is no > corresponding ordered set class available in the BCL in .Net 4. > > I have implemented a new OrderedSet based on ISet<T>, etc. from .Net 4, > but now I'm not sure where to put it. > > Option 1 > Put it as e.g. NHibernate.Collections.Generic.OrderedSet. We will have no > remaining dependency on Iesi.Collections. But some users prefer to avoid > referencing NHibernate types directly from e.g. domain logic. > > > Option 2 > Do a rework of Iesi.Collections targeting .Net 4 with breaking changes: > Remove all classes now covered by the BCL. Remaining classes (such as > OrderedSet) would have their interfaces updated to match .Net 4 interfaces. > The current version is likely to be cumbersome in combination with .Net4 > anyway, due to naming conflicts. This would be similar to what C5 did: > http://www.itu.dk/research/c5/ and > http://www.itu.dk/research/c5/c5-rasmus-nielsen-2011-05-25.pdf > > > What do you think? > > > /Oskar > > >
