Skip to content

Conversation

@alex-kulakov
Copy link
Contributor

Additional cases of wrong entity equality/inequality comparison revealed, so additional changes applied after original changes of #375

  • More test cases covered;
  • Some of expressions that constructed during Expression translation are now skipped in Translator.Visit method, because they don't need to be visited and, in fact, visiting of these expressions will harm translation;
  • Translator.GetEntityFields is optimized to not have additional conditional expression over one it builds, which is redundant.

-added new cases which can check changing parts of translation
- Translator.Visit ignores expressions marked non-visitable.
- GetEntityFields improved to not use additional Conditional expression wrapping already existing expression
- both methods get IReadOnlyList instead of IEnumerable, it gives opportunity to use count of items
  to initialize capacity of Lists and not waste memory and time on resize of inner arrays
…ssions

This improve compatibility of tests with some of providers
@alex-kulakov alex-kulakov merged commit cea53c7 into 6.0 Feb 12, 2024
@alex-kulakov alex-kulakov deleted the 6.0-incorrect-comparison-with-local-entity-1 branch February 12, 2024 06:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants