If a non-nullable relationship is nulled out, then I call GetChangeSet, I get an error like this:
"An attempt was made to remove a relationship between a X and a Y. However, one of the relationship's foreign keys (X.A) cannot be set to null"
This is a real nuisance. Yes, I can see why this kind of error must happen on SubmitChanges, but I'm not trying to submit any changes. I'm just trying to find out which objects the user has edited (so I can run some validation on them, as it happens). I would think that the system could tell me which objects have been edited regardless of whether or not they satisfy mandatory relationships.