次の方法で共有


CollectionType 要素 (CSDL)

概念スキーマ定義言語 (CSDL) の CollectionType 要素は、関数パラメーターまたは関数の戻り値の型がコレクションであることを指定します。 関数の詳細については、「Function 要素 (CSDL)」を参照してください。 CollectionType 要素は、Parameter 要素または ReturnType 要素の子である場合があります。 コレクションの型は、ElementType 属性で指定することも、次のいずれかの子要素で指定することもできます。

  • CollectionType

  • ReferenceType

  • RowType

  • TypeRef

    Ee476606.note(ja-jp,VS.100).gif注 :
    ElementType 属性と子要素の両方でコレクションの型を指定すると、モデルの検証は行われません。

適用可能な属性

The following table describes the attributes that can be applied to the CollectionType element. DefaultValue 属性、MaxLength 属性、FixedLength 属性、Precision 属性、Scale 属性、Unicode 属性、および Collation 属性は、EDMSimpleTypes のコレクションみに適用されることに注意してください。 詳細については、「ファセット (CSDL)」および「概念モデルの型」を参照してください。

属性名 必須 Value

ElementType

いいえ

コレクションの型。

Nullable

いいえ

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

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

DefaultValue

いいえ

プロパティの既定値。

MaxLength

いいえ

プロパティ値の最大長。

FixedLength

いいえ

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

Precision

いいえ

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

Scale

いいえ

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

Unicode

いいえ

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

Collation

いいえ

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

Ee476606.note(ja-jp,VS.100).gif注 :
CollectionType 要素には、任意の数の annotation 属性 (カスタム XML 属性) を適用できます。However, custom attributes may not belong to any XML namespace that is reserved for CSDL.カスタム属性の完全修飾名は一意である必要があります。

次の例は、CollectionType 要素を使用して、関数で Person エンティティ型のコレクション (ElementType 属性で指定) が返されることを指定するモデル定義関数を示しています。

<Function Name="LastNamesAfter">
       <Parameter Name="someString" Type="Edm.String"/>
       <ReturnType>
            <CollectionType  ElementType="SchoolModel.Person"/>
       </ReturnType>
       <DefiningExpression>
            SELECT VALUE p 
            FROM SchoolEntities.People AS p 
            WHERE p.LastName >= someString
       </DefiningExpression>
</Function>

次の例は、CollectionType 要素を使用して、関数で行のコレクション (RowType 要素で指定) が返されることを指定するモデル定義関数を示しています。

<Function Name="LastNamesAfter">
  <Parameter Name="someString" Type="Edm.String" />
  <ReturnType>
   <CollectionType>
     <RowType>
       <Property Name="FirstName" Type="Edm.String" Nullable="false" />
       <Property Name="LastName" Type="Edm.String" Nullable="false" />
     </RowType>
   </CollectionType>
  </ReturnType>
  <DefiningExpression>
            SELECT VALUE ROW(p.FirstName, p.LastName)
            FROM SchoolEntities.People AS p
            WHERE p.LastName &gt;= somestring
  </DefiningExpression>
</Function>

次の例は、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 Tools