-
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
Enable nullable backing field pattern for store-generated defaults #15182
Labels
area-change-tracking
closed-fixed
The issue has been fixed and is/will be included in the release indicated by the issue milestone.
punted-for-3.0
type-enhancement
Milestone
Comments
This was referenced May 13, 2019
ajcvickers
added a commit
that referenced
this issue
May 27, 2019
Fixes #15182 There is quite a fundamental change included here: the CLR type reported for a mapped property is now the backing field type, if it is known, not the property type. This is what allows a three states to be saved for a non-nullable property with a nullable backing field. Perceptive readers will realize that this means that the CLR type of an `IProperty` can now change if the backing field is changed. The most difficult case to handle seems to be properties backed by `object` fields. This likely isn't very common, but we had tests for it because of previous issues reported. One scenario is not working here--creating a shadow property FK by convention for a PK that is backed by an object field. I will file a bug for this. Query changes are just what I needed to do to re-enable some tests to get coverage for this change. In particular, the type inference is not a universal solution, but unblocks important tests.
ajcvickers
added
the
closed-fixed
The issue has been fixed and is/will be included in the release indicated by the issue milestone.
label
May 27, 2019
ajcvickers
removed
the
closed-fixed
The issue has been fixed and is/will be included in the release indicated by the issue milestone.
label
Jun 3, 2019
Consider #12215 when working on this. |
See also scenario in #20148 |
ajcvickers
added a commit
that referenced
this issue
Jun 20, 2020
Fixes #15182 This allows a null backing field to be used for a non-nullable property while at the same time checking the backing field for null in order to determine if a property value has been set.
ajcvickers
added
the
closed-fixed
The issue has been fixed and is/will be included in the release indicated by the issue milestone.
label
Jun 20, 2020
ajcvickers
added a commit
that referenced
this issue
Jun 20, 2020
Fixes #15182 This allows a null backing field to be used for a non-nullable property while at the same time checking the backing field for null in order to determine if a property value has been set.
ajcvickers
added a commit
that referenced
this issue
Jun 20, 2020
Fixes #15182 This allows a null backing field to be used for a non-nullable property while at the same time checking the backing field for null in order to determine if a property value has been set.
ajcvickers
added a commit
that referenced
this issue
Jun 21, 2020
Fixes #15182 This allows a null backing field to be used for a non-nullable property while at the same time checking the backing field for null in order to determine if a property value has been set.
ajcvickers
added a commit
that referenced
this issue
Jun 21, 2020
Fixes #15182 This allows a null backing field to be used for a non-nullable property while at the same time checking the backing field for null in order to determine if a property value has been set.
This was referenced Jul 17, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area-change-tracking
closed-fixed
The issue has been fixed and is/will be included in the release indicated by the issue milestone.
punted-for-3.0
type-enhancement
See discussion here: #15070 (comment)
Enable this:
and
(There should be no need to set the property access mode since we read/write fields by default in 3.0.)
This pattern means:
The text was updated successfully, but these errors were encountered: