-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Open
Labels
Milestone
Description
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.