次の方法で共有


DefiningExpression 要素 (CSDL)

概念スキーマ定義言語 (CSDL) の DefiningExpression 要素には、概念モデルで関数を定義する Entity SQL 式が含まれています。詳細については、「Function 要素 (CSDL)」および「Entity SQL 言語」を参照してください。

注意

検証を行うため、DefiningExpression 要素に任意の内容を含めることができます。ただし、DefiningExpression 要素に有効な Entity SQL が含まれていない場合、Entity Framework は実行時に例外をスローします。

適用可能な属性

DefiningExpression 要素には、任意の数の annotation 属性 (カスタム XML 属性) を適用できます。ただし、カスタム属性は CSDL 用に予約されたどの XML 名前空間にも属さない場合があります。カスタム属性の完全修飾名は一意である必要があります。

次の例では、ある本が出版されてからの年数を返す関数の定義に 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)

その他の技術情報

CSDL、SSDL、および MSL 仕様

ADO.NET Entity Data Model ツール