Co więcej wcale nie jest wykorzystywana przez entityframework dla swoich własnych mechanizmów.
To bardzo ciekawe, co napisałeś. Ciekawe dlaczego Microsoft twierdzi inaczej:
If an object is being managed by a change tracker, it is expected that IEntityChangeTracker methods EntityMemberChanging and EntityMemberChanged will be used to report changes on EntityKey. This allows the change tracker to validate the EntityKey's new value and to verify if the change tracker is in a state where it can allow updates to the EntityKey.
(źródło: https://msdn.microsoft.com/en-us/library/system.data.entity.core.objects.dataclasses.ientitywithkey.entitykey%28v=vs.113%29.aspx#P:System.Data.Entity.Core.Objects.DataClasses.IEntityWithKey.EntityKey)
Ta klasa jest po prostu dodatkiem w bibliotece EF, własnie po to aby nie tworzyć kolejnych klas.
Jeśli to faktycznie jest jej głównym celem, to znaczy, że to, o co pytasz jest podstawowym i najbanalniejszym przypadkiem użycia. Skoro jednak o to pytasz, to znaczy, że albo Microsoft coś spieprzył, albo nie masz racji. I muszę Cię zmartwić, ale to akurat to jedyny przypadek związany z EF, w którym prawdą jest druga wybór. :)
EntityObject ma w sobie tylko kilka metod i właściwości takich jak Key lub DataCreated i ma służyć jako klasa pomocnicza w przechowywaniu danych np. takich jak Id, data zapisu itd.
DateCreated? Coś Ci się pomyliło: https://msdn.microsoft.com/en-us/library/system.data.entity.core.objects.dataclasses.entityobject%28v=vs.113%29.aspx
Dlatego moje pytanie brzmi jak wykorzystać własciwość z tej klasy aby wszystkie encje, które będą dziedziczyły z tej klasy miały przypisane Id własnie to właściwości Key.
Encja ma Id, a EntityKey jest ustawiony na to Id jako część konfiguracji EF. To działa w tę stronę, nie odwrotnie. Po prostu Microsoft spieprzył swojego ORMa i wymieszał model bazodanowy z konfiguracją. To, że w nowszych wersjach wynaleźli code first (jakieś sto lat po kanibalach z Polinezji) i EntityObject
nie jest już potrzebny, tego nie zmienia.