Элемент DefiningExpression (CSDL)
Элемент DefiningExpression в языке CSDL содержит выражение Entity SQL , которое определяет функцию в концептуальной модели. Дополнительные сведения см. в разделах Элемент Function (язык CSDL) и Язык Entity SQL.
Примечание |
---|
В целях проверки в элемент DefiningExpression можно включать произвольное содержимое.Но среда Entity Framework вызывает исключение времени выполнения, если элемент DefiningExpression не содержит допустимый код Entity SQL . |
Применимые атрибуты
К элементу DefiningExpression может быть применено любое количество атрибутов annotation (настраиваемых атрибутов XML). Однако настраиваемые атрибуты не могут принадлежать к любому пространству имен XML, зарезервированному для CSDL. Полные имена любых двух настраиваемых атрибутов не могут совпадать.
Пример
В следующем примере элемент DefiningExpression используется для определения функции, возвращающей сведения о количестве лет, истекших с момента публикации книги. Содержимое элемента DefiningExpression записывается в коде Entity SQL .
<Function Name="GetYearsInPrint" ReturnType="Edm.Int32" >
<Parameter Name="book" Type="BooksModel.Book" />
<DefiningExpression>
Year(CurrentDateTime()) - Year(cast(book.PublishedDate as DateTime))
</DefiningExpression>
</Function>
См. также
Основные понятия
Общие сведения о платформе Entity Framework
Спецификация языка CSDL
Элемент FunctionImport (язык CSDL)
Другие ресурсы
Спецификации языка CSDL, SSDL и MSL
ADO.NET Entity Data Model Tools