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

Generate condition for required property in optional dependents #29206

Merged
merged 2 commits into from
Sep 28, 2022

Conversation

smitpatel
Copy link
Contributor

@smitpatel smitpatel commented Sep 26, 2022

Resolves #29142

Description

Same area as fix #29207, but this time when using entity equality.

When a dependent entity shares a table with its principal but does not have any required properties, then the meaning of all all dependent columns being null is ambiguous. It could mean that the entity does not exist, or it could mean that the entity exists but all its properties have null values. We therefore warn about this kind of mapping and recommend against it. Nevertheless, it is still used by customers, and in EF7 we broke cases where this is used with entity equality. This change reverts those breaks.

Customer impact

Customers using optional owned dependents with table splitting and no required properties will get exceptions using entity equality.

How found

Customer reported on EF7 RC1.

Regression

Yes, from 6.0.

Testing

Regression tests added.

Risk

Low; reverts back to the EF Core 6.0 code.

@ajcvickers ajcvickers added this to the 7.0.0 milestone Sep 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants