I use asp.net model binding to retrieve objects from the view. The objects retrieved are rarely ever complete as that would require loading the entire object map.

I have a class such as:

class Garage {
int garageID;
String name;
ICollection<Car> cars;
}

Some views do not get sent the list of cars, so null is returned. On those occassions, I do not wish to cascade="all" (that is what everything is set to) as I assume that would delete all of the cars. On other occassions (when the view gets all of the cars and they are all returned to the controller), I do want all the cars to be updated when the garage is saved.

Does NHibernate offer any mechanism to perform this? I looked into ILifecycle- it seems a bit complicated and a lot of work. I looked into IValidate - it doesn't seem to apply here.