Skip to content
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

Entity Splitting: allow optional split table #27974

Open
Tracked by #22953
AndriySvyryd opened this issue May 7, 2022 · 2 comments
Open
Tracked by #22953

Entity Splitting: allow optional split table #27974

AndriySvyryd opened this issue May 7, 2022 · 2 comments

Comments

@AndriySvyryd
Copy link
Member

AndriySvyryd commented May 7, 2022

Split off from #620

This would skip creating a row in the table mapped to the split fragment if all mapped properties are null

Add a warning when this is changed in a migration

@n0099
Copy link

n0099 commented Jan 12, 2023

Is there any plan for implementing this feature?

@roji
Copy link
Member

roji commented Jan 12, 2023

This issue is in the Backlog milestone. This means that it is not going to happen for the 8.0 release. We will re-assess the backlog following the 8.0 release and consider this item at that time. However, keep in mind that there are many other high priority features with which it will be competing for resources.

n0099 added a commit to n0099/open-tbm that referenced this issue Jan 12, 2023
…ne` relationships instead of desired `one-zeroOrOne`(optional entity), leading to inserting many records with all fields except the primary key with NULL values as placeholder record for `one-one` relation, so without re-introducing something like `IRevision.NullFieldsBitMask`, we can't distinguish between the original literal NULL value and these empty records: dotnet/efcore#27974 dotnet/efcore#29113 @ `TbmDbContext.OnModelCreating()`

+ abstract class `RevisionWithSplitting` as base class of all derived classes of `IRevision`
* insert all entities returned from `RevisionWithSplitting.GetSplitEntities()` into DB @ `CommonInSavers.SavePostsOrUsers()`
* change `abstract class BaseRevision` to `interface IRevision` to comply with single inheritance
@ crawler
n0099 added a commit to n0099/open-tbm that referenced this issue Jan 12, 2023
…ne` relationships instead of desired `one-zeroOrOne`(optional entity), leading to inserting many records with all fields except the primary key with NULL values as placeholder record for `one-one` relation, so without re-introducing something like `IRevision.NullFieldsBitMask`, we can't distinguish between the original literal NULL value and these empty records: dotnet/efcore#27974 dotnet/efcore#29113 @ `TbmDbContext.OnModelCreating()`

+ abstract class `RevisionWithSplitting` as base class of all derived classes of `IRevision`
* insert all entities returned from `RevisionWithSplitting.GetSplitEntities()` into DB @ `CommonInSavers.SavePostsOrUsers()`
* change `abstract class BaseRevision` to `interface IRevision` to comply with single inheritance
@ crawler
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants