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