Why nhibernate 3.3 doesn't allow private setter on ICollection?
I upgraded form nhibernate 3.2 to nhibernate 3.3, and I had a lot of virtual members defined in my domain classes like this: public virtual ICollection<Movie> Movies { get; private set; } This stopped working after the upgrade and I get this exception: Following types may not be used as proxies: ClassName: method set_Movies should be 'public/protected virtual' or 'protected internal virtual' Now I managed to solve the problem by changing the setter to protected but I was surprised also that changing the Collection property to be readonly with a backing field does the trick. So I have two