Какова цель самостоятельного отслеживания сущностей?
====================================================

 Я читал о сущностях самообследования в .net и о том, как их можно сгенерировать из файла * .edmx. Я пытаюсь понять, что генерирование этих сущностей дает вам базовые сущности EF? Кроме того, некоторые люди упоминают о сущностях самоконтроля и Silverlight, но почему вы используете их, а не клиентскую часть или общие классы, генерируемые службами RIA? 

 В чем смысл самостоятельного отслеживания сущностей и для чего вы их используете? 

 Самостоятельно отслеживаемые объекты (STE) являются реализацией набора изменений (предыдущей реализацией набора изменений в .NET является `DataSet` ). Разница между STE и другими типами сущностей (POCO, EntityObject) заключается в том, что общие типы сущностей могут отслеживать изменения только при подключении к живому `ObjectContext` . Как только общая сущность отсоединена, она теряет способность отслеживать изменения. Это именно то, что решает STE. STE может отслеживать изменения, даже если вы отсоедините его от `ObjectContext` . 

 Широко используется STE в отдельных сценариях, таких как .NET для .NET связи через веб-сервисы. Первый запрос к веб-сервису создаст и вернет STE (сущность отсоединяется при сериализации, а `ObjectContext` живет только для обслуживания одного вызова). Клиент внесет изменения в STE и передаст их в другом вызове веб-службы. Сервис сможет обрабатывать изменения, потому что у него будет доступно внутреннее отслеживание изменений STE. 

 Обработка этого сценария без отслеживания изменений возможна, но она намного сложнее, особенно когда вы работаете с целым графом объектов вместо одного объекта - вы должны [вручную объединить](https://stackoverflow.com/questions/3635071/update-relationships-when-saving-changes-of-ef4-poco-objects/3635326#3635326) изменения, полученные от клиента, в текущее состояние в базе данных. 

 Помните, что [STE не предназначены для совместимых](https://stackoverflow.com/questions/3814706/self-tracking-entities-vs-poco-entities/3815968#3815968) решений, поскольку их функциональность основана на совместном использовании кода STE между сервером и клиентом.