Skip to content

Support shadow properties on value type complex types #35337

@AndriySvyryd

Description

@AndriySvyryd

Currently we don't support shadow properties on value type complex types as they could be a pit of failure. Consider the following case where Address has a shadow Verified property:

var customerEntry1 = context.Entry(customer1);
customerEntry1.ComplexProperty(v => v.Address).Property<bool>("Verified").CurrentValue = true;

customer2.Address = customer1.Address;

What is the value of the Verified property on customer2.Address? If Address was a reference type it would be true, but since it's not EF change tracking doesn't have any way to determine that the shadow property values should be copied, so it will be false.

This behavior is unintuitive and could lead to subtle issues.

This said, we still want to hear whether anyone has a scenario that requires them to use shadow properties on collections or non-collections of value complex types.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions