1. Assignment will be to work three times slower.
Um ... I'm not sure I'll buy that ... I doubt it's three times slower than NHibernate hitting the database then using reflection to inflate your object instance? Inside your object you have access to the field.
2. This violates the principles of OOP.
This is only a syntax change from your original example - not a semantic one. In your original example, Items was exposed as IEnumerable<>, and InternalItems was used for list access. All that changed was that InternalItems was renamed to Items, and still exposed as IEnumerable<>, the mutator is protected to prevent external modification, and internally the field is used for list access. It doesn't expose any more than your original example? (Let me know if I've missed something.)
3. Will not work for sigle association.
I'm not sure what you mean by this? Again, it works exactly as your original example, just with a syntax change.
Also, for QueryOver, you can still revert to the magic-strings for most of the overloads (but obviously you lose the static typing.)
-- 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.
