モデル定義関数 (Entity Data Model)
モデル定義関数は、概念モデルで定義される関数です。 モデル定義関数の本体は、Entity SQL により表現されます。これにより、データ ソースでサポートされる規則または言語に関係なく関数を表現することが可能になります。
モデル定義関数の定義には、次の情報が含まれます。
関数名。 (必須)
戻り値の型。 (省略可能)
注 : 戻り値の型が指定されていない場合、戻り値は void になります。 パラメーター情報。 (省略可能)
関数の本体を定義する Entity SQL 表現。
モデル定義関数では、出力パラメーターがサポートされません。 この制約は、モデル定義関数を構成できるようにするためにあります。
例
下のダイアグラムは、Book、Publisher、および Author という 3 つのエンティティ型の概念モデルを示しています。
ADO.NET Entity Framework では、概念スキーマ定義言語 (CSDL) と呼ばれるドメイン固有言語 (DSL) を使用して概念モデルを定義します。 次の 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>
参照
概念
Entity Data Model キーの概念
Entity Data Model
Entity Data Model: プリミティブ データ型