As you all know, in order to allow lazy loading and change tracking in entity framework, all the properties of the entity objects must be virtual.
My question is: since making the properties virtual is a requirement of entity framework, does it violate the principal of persistence ignorance and separation of concerns?
I understand that making the properties virtual doesn't couple my entities specifically to entity framework, but making the properties virtual is an imposition of entity framework and not necessarily of other framework/orm's.
If so, is there a way of avoiding making the properties virtual?
Thank you