aspnetcore/src/Mvc/shared
Pranav K cdae83efae
Use the declared type to infer NullableContextOptions (#15134)
* Use the declared type to infer NullableContextOptions

Prior to this change MVC used the runtime type rather than the declared type to
determine the nullability of a property based on state. In the case of inheritance,
this can be erroneous since the declared type may have a different nullability context
than the model type.

This change addresses this by adding content to `ModelIdentity` that allows inspecting the
declared type.

* Add an overload to `ModelMetadataIdentity` that allows flowing `PropertyInfo`
* Use the declared type in `DataAnnotationsMetadataProvider` to determine nullability based on context.

Fixes https://github.com/aspnet/AspNetCore/issues/14812
2019-10-20 06:30:58 -07:00
..
Mvc.Core.TestCommon Use the declared type to infer NullableContextOptions (#15134) 2019-10-20 06:30:58 -07:00
Mvc.TestDiagnosticListener
Mvc.Views.TestCommon