Query: Use function mapping when querying for DbSet#21507
Conversation
|
Hello @smitpatel! Because this pull request has the p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (
|
|
@msftbot require 1 sign off |
|
Hello @smitpatel! Because you've given me some instructions on how to help merge this pull request, I'll be modifying my merge approach. Here's how I understand your requirements for merging this pull request:
If this doesn't seem right to you, you can tell me to cancel these instructions and use the auto-merge policy that has been configured for this repository. Try telling me "forget everything I just told you". |
| { | ||
| TableExpressionBase tableExpression; | ||
| var functionMappings = entityType.GetFunctionMappings(); | ||
| if (functionMappings.Any()) |
There was a problem hiding this comment.
It might have mappings to TVF methods, but no default mapping and also be backed by a table
There was a problem hiding this comment.
I first checked GetFunctionName, I can find IDbFunction from there but to use IStoreFunction, I went mapping route.
The scenario you describe is basically, entity type is being used as result of a method based TVF but also backed by a table/view, in which case we need to use table/view for query root.
Should I use GetFunctionName to check if the entity type is mapped to function or check for FunctionMapping with IsDefaultMapping if there is any, use it?
There was a problem hiding this comment.
Updated.
Also added a regression test where entity type is return type of a TVF and mapped to a view in the model.
|
@msftbot require 1 sign off |
|
Hello @smitpatel! Because you've given me some instructions on how to help merge this pull request, I'll be modifying my merge approach. Here's how I understand your requirements for merging this pull request:
If this doesn't seem right to you, you can tell me to cancel these instructions and use the auto-merge policy that has been configured for this repository. Try telling me "forget everything I just told you". |
Resolves #20051