-
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
Enable throwing better exceptions for specific cases of failed translation #20344
Comments
Related #20164 |
From an experience perspective, the more specific we can get about why something can't be translated the better. However, some of the expression visitors are designed not to throw. Therefore, we should look at how to propagate the more detailed information to the place that will throw. |
One main point is to also avoid duplicating logic from the concerned visitor in order to identify specific patterns and throw the informative exception. If we end up doing this, it may be better to simply expose knobs in the expression visitor, telling it whether to throw or let the tree through. The visitor would throw by default, unless a provider has explicitly disabled that in order to handle things in translation. |
All exception messages from scenarios Entity Equality was throwing has been migrated to new entity equality implementation. |
Resolves #15080 Implemented behavior: - If any part of composite key is null then key is null. - If comparing entity with null then check if "any" key value is null. - If comparing entity with non-null then check if "all" key values are non null. Resolves #20344 Resolves #19431 Resolves #13568 Resolves #13655 Since we already convert property access to nullable, if entity from client is null, make key value as null. Resolves #19676 Clr type mismatch between proxy type and entity type is ignored. Resolves #20164 Rewrites entity equality during translation Part of #18923
Resolves #15080 Implemented behavior: - If any part of composite key is null then key is null. - If comparing entity with null then check if "any" key value is null. - If comparing entity with non-null then check if "all" key values are non null. Resolves #20344 Resolves #19431 Resolves #13568 Resolves #13655 Since we already convert property access to nullable, if entity from client is null, make key value as null. Resolves #19676 Clr type mismatch between proxy type and entity type is ignored. Resolves #20164 Rewrites entity equality during translation Part of #18923
Resolves #15080 Implemented behavior: - If any part of composite key is null then key is null. - If comparing entity with null then check if "any" key value is null. - If comparing entity with non-null then check if "all" key values are non null. Resolves #20344 Resolves #19431 Resolves #13568 Resolves #13655 Since we already convert property access to nullable, if entity from client is null, make key value as null. Resolves #19676 Clr type mismatch between proxy type and entity type is ignored. Resolves #20164 Rewrites entity equality during translation Part of #18923
Resolves #15080 Implemented behavior: - If any part of composite key is null then key is null. - If comparing entity with null then check if "any" key value is null. - If comparing entity with non-null then check if "all" key values are non null. Resolves #20344 Resolves #19431 Resolves #13568 Resolves #13655 Since we already convert property access to nullable, if entity from client is null, make key value as null. Resolves #19676 Clr type mismatch between proxy type and entity type is ignored. Resolves #20164 Rewrites entity equality during translation Part of #18923
Resolves #15080 Implemented behavior: - If any part of composite key is null then key is null. - If comparing entity with null then check if "any" key value is null. - If comparing entity with non-null then check if "all" key values are non null. Resolves #20344 Resolves #19431 Resolves #13568 Resolves #13655 Since we already convert property access to nullable, if entity from client is null, make key value as null. Resolves #19676 Clr type mismatch between proxy type and entity type is ignored. Resolves #20164 Rewrites entity equality during translation Part of #18923
@smitpatel What are examples of better exception messages that we now throw? Are they included in preview 4? |
This issue tracked only migrating existing exception messages of EntityEquality rewrite to translation pipeline. No new exception message were added. |
@smitpatel Where are we tracking new exception messages? |
If it cannot rewrite it should just return original tree. Let client eval deal with it.
The text was updated successfully, but these errors were encountered: