Основным преимуществом STE (объектов самообследования) является реализация набора изменений. Это означает, что вы можете вернуть STE из объекта изменения операции веб-службы (или целого графа объекта) и вызвать другую операцию для отправки обновленного STE обратно в веб-службу для обработки. EF автоматически обнаружит изменения в STE и обработает их.
Это невозможно с объектами Entity Framework, поскольку он может отслеживать изменения только в том случае, если объект присоединен к ObjectContext
, но объект отсоединен при возврате из операции веб-службы.
Недостаток STE заключается в том, что вам необходимо совместно использовать сборку, которая определяет их среди службы и всех клиентов. STE не предназначены для совместимых решений.
В настоящее время большинство проектов разрабатываются с субъектами третьего типа - POCOs . POCO также не могут отслеживать изменения при отсоединении от ObjectContext
. Это особенность STEs.