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.
Additional cases of wrong entity equality/inequality comparison revealed, so additional changes applied after original changes of #375
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.