Элемент проекта вида «КонтрактСущности»

Контракт сущности — элемент проекта, который предназначен для описания общих методов и хранимых свойств, которыми обладают элементы, реализующие данный контракт. Контракт сущности обладает основной таблицей и таблицами множественных свойств, в которых хранятся свойства, описанные в контракте.

Важное отличие контракта сущности от контракта типа состоит в том, что контракт типа определяет только интерфейс, в то время как контракт сущности задает ограничения на данные. Для контракта сущности создается отдельная таблица, которая хранит «общие» данные. Эта таблица доступна в языке запросов. Для контракта сущности также создается ссылочный тип, и его можно использовать в хранимых полях.

Контракт сущности можно реализовывать в следующих элементах проекта:

Доступность в языке запросов

Таблицы контракта сущности доступны в языке запросов. Основная таблица является ссылочной — к полям таблицы можно обращаться по их именам через точку от выражений, имеющих тип <ИмяКонтракта>.Ссылка.

Имя основной таблицы совпадает с именем элемента. Таблица содержит обычные поля, описанные в контракте.

Таблицы множественных свойств содержат множественные свойства, описанные в контракте. Если у контракта нет реализаций, то при запросах всегда возвращается пустой результат.