-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use the configured ValueComparer in ModificationCommandComparer #13507
Comments
The |
The KeyComparer should be used so that keys of any type that do not compare appropriately with the default Equals (e.g. IGeometry) will be sorted correctly. |
While investigating this it became apparent that there are currently implicit requirements for types used as key properties. Testing indicates:
Proposal:
Exception when key structs don't implement equality operator:
Exception when key property is not IComparable
|
@ajcvickers - Can you share the query you used? |
Filed #19407 for query bug. |
Notes from team discussion:
|
Fixes #13507 See also #19638 and #19641 Basic logic is: * If model type implements some sort of IComparable, then use it * Otherwise, if provider type implement some sore of IComparable, then use it * Otherwise fail in model validation Also added new test suite specifically for different types of keys with and without conversions.
Fixes #13507 Fixes #19638 See also #19641 Basic logic is: * If model type implements some sort of IComparable, then use it * Otherwise, if provider type implement some sore of IComparable, then use it * Otherwise fail in model validation Also added new test suite specifically for different types of keys with and without conversions.
Fixes #13507 Fixes #19638 See also #19641 Basic logic is: * If model type implements some sort of IComparable, then use it * Otherwise, if provider type implement some sore of IComparable, then use it * Otherwise fail in model validation Also added new test suite specifically for different types of keys with and without conversions.
Fixes #13507 Fixes #19638 See also #19641 Basic logic is: * If model type implements some sort of IComparable, then use it * Otherwise, if provider type implement some sore of IComparable, then use it * Otherwise fail in model validation Also added new test suite specifically for different types of keys with and without conversions.
No description provided.
The text was updated successfully, but these errors were encountered: