Вот некоторая дополнительная информация о различиях между EntityObject, Trackable Entities и POCO.
1) EntityObject - это базовый класс сущностей, используемый для устаревших приложений EF.Вы должны избегать этого любой ценой, поскольку он тесно связывает ваши сущности с EF, что является плохой вещью.А с поддержкой EF POCO это совершенно не нужно, потому что EF теперь предоставляет многие из тех же функций без базового класса.
2) Классы POCO не знают о проблемах постоянства.Они не должны быть производными от базового класса или иметь специальные атрибуты.Они обеспечивают независимость от API доступа к данным, например EF.
3) Отслеживаемые объекты - это тип классов POCO, которые имеют одно или два дополнительных свойства для установки состояния объекта: Не изменяется,Добавлено, Изменено, Удалено.Хотя эти свойства относятся к персистентности в целом, они не связывают сущности с какой-либо конкретной средой персистентности, включая отслеживаемые сущности.Скорее, они позволяют некоторой персистентной платформе на внутреннем сервере интерпретировать и применять эти свойства, которые являются чрезвычайно легкими и независимыми от каркаса.
Основное преимущество отслеживаемых объектов, которое является заменой ныне не существующей Microsoft Самостоятельное отслеживание сущностей заключается в том, что оно позволяет сохранять изменения в графике связанных объектов в одной транзакции с помощью одного обращения к службе WCF или веб-API.Например, если у вас есть Заказ с несколькими деталями, некоторые из которых добавлены, изменены или удалены, Заказ и детали могут быть отправлены за один раз, и все обновления происходят атомарно.
Отслеживаемые объекты имеютдругие преимущества, особенно с точки зрения производительности.Он реализован в виде набора пакетов NuGet и расширений Visual Studio (2012, 2013), которые позволяют за короткое время собрать решение N-уровня.
Cheers, Тони