Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Определяемая моделью функция — это функция, определенная в концептуальной модели. Текст определяемой моделью функции выражается в Entity SQL, что позволяет выразить функцию независимо от правил или языков, поддерживаемых в источнике данных.
Определение для определяемой моделью функции содержит следующие сведения:
Имя функции. (Обязательно)
Тип возвращаемого значения. (Необязательно)
Замечание
Если возвращаемый тип не указан, возвращаемое значение является void.
Сведения о параметрах. (Необязательно)
Выражение Entity SQL , определяющее тело функции.
Обратите внимание, что определяемые моделью функции не поддерживают выходные параметры. Это ограничение имеет место, чтобы можно было создавать определяемые моделью функции.
Пример
На схеме ниже показана концептуальная модель с тремя типами сущностей: Book, Publisherи Author.
В ADO.NET Entity Framework используется язык, зависящий от домена (DSL), называемый языком определения концептуальной схемы (CSDL) для определения концептуальных моделей. Следующий CSDL определяет функцию в концептуальной модели, которая возвращает количество лет с момента публикации экземпляра Book (на схеме выше).
<Function Name="GetYearsInPrint" ReturnType="Edm.Int32" >
<Parameter Name="book" Type="BooksModel.Book" />
<DefiningExpression>
Year(CurrentDateTime()) - Year(cast(book.PublishedDate as DateTime))
</DefiningExpression>
</Function>