Я только что говорил с коллегой об отслеживании изменений Entity Framework.В итоге мы выяснили, что мой контекстный интерфейс должен иметь
IDBSet<MyPoco> MyThings { get; }
, а не
IQueryable<MyPoco> MyThings { get; }
, и что мой POCO также должен иметь все свои свойства как virtual
.
* 1009.* Используя отладчик, мы могли бы видеть объекты отслеживания, а также, что результаты содержали прокси для моих фактических POCO.
Если у меня нет свойств POCO как virtual
и мой контекстный интерфейс использует IQueryable<>
вместо IDbSet<>
я ничего не получаю.
В этом случае я только запрашиваю базу данных, но в будущем захочу обновить базу через Entity Framework.
Итак, чтобы облегчить мне жизнь в будущем, когда я приду к этому коду в качестве справочного материала, есть ли какое-то ухудшение производительности, если я не буду использовать их для отслеживания информации / прокси-серверов?