This thread was imported from our support forum. The original discussion may contain more detailed answer. |
Alex (Xtensive) wrote:This bug is, likely, effect of fully fixing viewtopic.php?f=29&t=5882 The problem we have here appears because Entity.UpdateVersionInfo isn't called in this case, because SystemBeforeSetValue (its caller) isn't called as well when the same value is assigned to persistent property. We actually have a similar test for this in our own test suite (AFAIK, in DisconnectedState tests), so it anyway must be fixed. Likely, we'll add a set of methods & events like SetValueAttempt (please try to invent a better name, otherwise I'll leave this one :) ). Alex (Xtensive) wrote:Fixed, as well as one more bug with serialization of DisconnectedState introduced in v4.3 RC4, that appeared as result of fixing issue with viewtopic.php?f=28&t=5933 - DisconnectedState uses it during serialization. CheckVersion test was actually exposing it - a new exception was thrown there, but I noticed this just now. Strange, but all the other tests involving serialization of DisconnectedState were passing, although the bug is pretty serious. So returning back to the fix - now there are:
psulek wrote:
A bit more clear test (for these ones who interested): http://goo.gl/ch4j I decided to update all the installers because of this fix - both issues are important. New installers are already available. Great! Thanks! Btw SetValueAttempt -> TrySetValue? I thought about this option as well, but finally left the original one. For me they're nearly equal. Another alternative is SetValuePreview, but this can be confusing with WPF events. Or no? Alex and why not TrySetValue ? If i remember right then .NET framework itself use such name somewhere. Yes, it does - but normally with out parameter (TryGetXxx(key, out result)). So this might be confusing also... Err... Why "Safely"? |