次の方法で共有


TypeRef 要素 (CSDL)

概念スキーマ定義言語 (CSDL) の TypeRef 要素は、既存の名前付きの型への参照を提供します。TypeRef 要素は、関数にパラメーターまたは戻り値の型としてのコレクションがあることを指定する CollectionType 要素の子である場合があります。詳細については、「Function 要素 (CSDL)」を参照してください。

TypeRef 要素には、次の子要素をここに示す順序で含めることができます。

適用可能な属性

TypeRef 要素に適用できる属性を次の表に示します。DefaultValue 属性、MaxLength 属性、FixedLength 属性、Precision 属性、Scale 属性、Unicode 属性、および Collation 属性は、EDMSimpleTypes のみに適用されることに注意してください。詳細については、「ファセット (CSDL)」および「概念モデルの型 (CSDL)」を参照してください。

属性名

必須

Type

いいえ

参照先の型の名前。

Nullable

いいえ

プロパティに null 値を割り当てることができるかどうかにより、True (既定値) または False。

注意
https://schemas.microsoft.com/ado/2006/04/edm 名前空間で示された CSDL のバージョンでは、複合型のプロパティは Nullable="False" である必要があります。

DefaultValue

いいえ

プロパティの既定値。

MaxLength

いいえ

プロパティ値の最大長。

FixedLength

いいえ

プロパティ値が固定長の文字列として格納されるかどうかにより、True または False。

Precision

いいえ

プロパティ値の有効桁数。

Scale

いいえ

プロパティ値の小数点以下桁数。

Unicode

いいえ

プロパティ値が Unicode 文字列として格納されるかどうかにより、True または False。

Collation

いいえ

データ ソースで使用する照合順序を指定する文字列。

注意

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

次の例は、TypeRef 要素 (CollectionType 要素の子として) を使用して、関数で Department エンティティ型のコレクションを受け取ることを指定するモデル定義関数を示しています。

<Function Name="GetAvgBudget">
     <Parameter Name="Departments">
         <CollectionType>
            <TypeRef Type="SchoolModel.Department"/>
         </CollectionType>
          </Parameter>
      <ReturnType Type="Collection(Edm.Decimal)"/>
      <DefiningExpression>
            SELECT VALUE AVG(d.Budget) FROM Departments AS d
      </DefiningExpression>
</Function>

関連項目

概念

エンティティ フレームワークの概要

CSDL 仕様

FunctionImport 要素 (CSDL)

その他の技術情報

CSDL、SSDL、および MSL 仕様

ADO.NET Entity Data Model ツール