次の方法で共有


DefiningExpression 要素 (CSDL)

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

Dd489503.note(ja-jp,VS.100).gif注 :
検証を行うため、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)

その他のリソース

CSDL、SSDL、および MSL 仕様
ADO.NET Entity Data Model Tools