dotnet / dotnet/efcore

Prune main table in entity splitting if not used

Open
#29,113 2 comments 2 reactions 0 assignees View on GitHub
area-perf area-query
Dominant language
C#
Stars
14.8k
Forks
3.4k
PR merge metrics
PR metrics pending

Description

Considerations
- Optional dependents #29079 we currently check main table for figuring out property condition for materialization, if we drop main fragment we need to see how to generate that condition.
- Optional fragments, when additional tables won't have row so we would need to join with main fragment to make sure we identify null data vs no data. #27974

From implementation perspective,
Multiple columns coming from different fragment mapped to same IProperty will have same value. Currently we pick the first column in that list (which is like to be coming from main table which we don't remove yet). In order to prune in best way, we would need to understand at the time of pruning what are the column values we need and how to generate those columns by utilizing least number of tables participating in the entity splitting. #29035 may be necessary for it.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.