функция определенной модели
Определяемая моделью функция — это функция , определенная в концептуальной модели. Текст определяемой моделью функции выражается в Entity SQL, что позволяет выразить функцию независимо от правил или языков, поддерживаемых в источнике данных.
Определение определяемой моделью функции содержит следующие сведения.
Имя функции. (обязательно)
Тип возвращаемого значения. (Необязательно)
Примечание.
Если тип возвращаемого значения не задан, возвращаемого значения не будет.
Сведения о параметрах. (Необязательно)
Выражение 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>