-
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
Query: Define set of conditions for materialization on EntityShaper #20332
Labels
area-query
closed-fixed
The issue has been fixed and is/will be included in the release indicated by the issue milestone.
type-enhancement
Milestone
Comments
64 tasks
This was
linked to
pull requests
Mar 18, 2020
Necessary client side component for #18299 |
Looks right, the other thing we discussed was that in some cases we need to determine what shaper to use for the dependent entities that aren't related between them other that being mapped to the same table and the same columns.
|
smitpatel
added a commit
that referenced
this issue
Mar 19, 2020
Resolves #18299 Fix involves: - Adding additional materialization conditions for relational layer when table splitting is used. See #20332 for conditions - Create EntityProjection using the same table when both types are sharing the table. - Fix a bug in shaper when null entityType is returned from materialization condition, don't call StartTracking. - Assign nullability to PK column correctly for optional dependents so we don't project it twice. - Disabled Sql assertion in OwnedQuerySqlServerTest. Will enable after model update as described in #20336, #20343
smitpatel
added
the
closed-fixed
The issue has been fixed and is/will be included in the release indicated by the issue milestone.
label
Mar 19, 2020
smitpatel
added a commit
that referenced
this issue
Mar 19, 2020
Fix involves: - Adding additional materialization conditions for relational layer when table splitting is used. See #20332 for conditions - Create EntityProjection using the same table when both types are sharing the table. - Fix a bug in shaper when null entityType is returned from materialization condition, don't call StartTracking. - Assign nullability to PK column correctly for optional dependents so we don't project it twice. - Disabled Sql assertion in OwnedQuerySqlServerTest. Will enable after model update as described in #20336, #20343 Resolves #18299 Resolves #20338 Resolves #20332
smitpatel
added a commit
that referenced
this issue
Mar 20, 2020
Fix involves: - Adding additional materialization conditions for relational layer when table splitting is used. See #20332 for conditions - Create EntityProjection using the same table when both types are sharing the table. - Fix a bug in shaper when null entityType is returned from materialization condition, don't call StartTracking. - Assign nullability to PK column correctly for optional dependents so we don't project it twice. - Disabled Sql assertion in OwnedQuerySqlServerTest. Will enable after model update as described in #20336, #20343 Resolves #18299 Resolves #20338 Resolves #20332
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area-query
closed-fixed
The issue has been fixed and is/will be included in the release indicated by the issue milestone.
type-enhancement
In addition to above to support #10140 the flexible mapping condition would become part of it.
EntityShaper will contain a lambda of
Func<ValueBuffer, IEntityType>
The lambda returns IEntityType based on above set of conditions telling which entityType to materialize. If there is not entityType should be materialized (e.g. optional dependent), then it returns null. If there is no matching entityType and null cannot be returned (basically unknown discriminator value), it throws exception.
Core EntityShaper contains conditions for discriminator/keyless entityType.
Relational EntityShaper will extend and add conditions for required/optional dependents when table splitting.
@AndriySvyryd - Can you review conditions at the start if that matches what we decided in meeting?
The text was updated successfully, but these errors were encountered: