DefiningExpression 要素 (CSDL)
概念スキーマ定義言語 (CSDL) の DefiningExpression 要素には、概念モデルで関数を定義する Entity SQL 式が含まれています。 詳細については、「Function 要素 (CSDL)」および「Entity SQL 言語」を参照してください。
注 : |
---|
検証を行うため、DefiningExpression 要素に任意の内容を含めることができます。ただし、DefiningExpression 要素に有効な Entity SQL が含まれていない場合、Entity Framework は実行時に例外をスローします。 |
適用可能な属性
DefiningExpression 要素には、任意の数の annotation 属性 (カスタム XML 属性) を適用できます。 However, custom attributes may not belong to any XML namespace that is reserved for 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>
参照
概念
エンティティ フレームワークの概要
CSDL 仕様
FunctionImport 要素 (CSDL)