Предназначение и правила использования адаптивных детейлов

Например, имеется следующая ситуация:

Класс A имеет детейлы D, связанные агрегацией DA. Для A определено представление, в которое связано представление детейла D.

Например, выполняется чтение объекта данных типа A по представлению AView. Соответственно, поскольку объекты классов D1, D2 унаследованы от D, они также будут читаться по представлению DView (представления наследуются). Однако, что же делать, если они имеют более полный атрибутный состав, который обязательно нуждается в прочитке?

Для того, чтобы разрешить данную проблему, существуют адаптивные представления. Если объявить представление DView адаптивным, а для детейлов D1 и D2 объявить представления с теми же именами (DView), но с собственным атрибутным составом, то сервис данных будет прочитывать детейлы D1 и D2 в соответствии с ним.

Для того, чтобы указать, что представление адаптивно, необходимо при ассоциировании детейлового представления в атрибуте AssociatedDetailViewAttribute проинициализировать свойство UseAdaptiveViewsLoading=true.

Пример:

[AssociatedDetailView("AView", "D", "DView", UseAdaptiveViewsLoading=true)]

Реализация вычитки объектов-наследников по общему представлению предка описана в статье Чтение принадлежащих различным классам объектов в одном представлении.