CollectionType (Elemento) (CSDL)
El elemento CollectionType en el lenguaje de definición de esquemas conceptuales (CSDL) especifica que un parámetro de función o el tipo de valor devuelto de la función es una colección. Para obtener más información acerca de las funciones, vea Function (Elemento) (CSDL). El elemento CollectionType puede ser un elemento secundario del elemento Parameter o el elemento ReturnType. El tipo de colección se puede especificar utilizando el atributo ElementType o uno de los siguientes elementos secundarios:
CollectionType
-
Nota: Un modelo no se valida si el tipo de una colección se especifica con el atributo ElementType y un elemento secundario.
Atributos aplicables
En la tabla siguiente se explican los atributos que se pueden aplicar al elemento CollectionType. Tenga en cuenta que los atributos DefaultValue, MaxLength, FixedLength, Precision, Scale, Unicode y Collation solo son aplicables a colecciones de EDMSimpleTypes. Para obtener más información, vea Facetas (CSDL) y Tipos de modelos conceptuales.
Nombre de atributo | Es necesario | Valor |
---|---|---|
ElementType |
No |
Tipo de la colección. |
Nullable |
No |
True (el valor predeterminado) o False, dependiendo de si la propiedad puede tener un valor NULL.
Nota:
En la versión de CSDL indicada por el espacio de nombres https://schemas.microsoft.com/ado/2006/04/edm, una propiedad de tipo complejo debe tener
Nullable="False" .
|
DefaultValue |
No |
Valor predeterminado de la propiedad. |
MaxLength |
No |
Longitud máxima del valor de propiedad. |
FixedLength |
No |
True o False dependiendo de si el valor de propiedad se va a almacenar como una cadena de longitud fija. |
Precision |
No |
Precisión del valor de propiedad. |
Scale |
No |
Escala del valor de propiedad. |
Unicode |
No |
True o False dependiendo de si el valor de propiedad se va a almacenar como una cadena Unicode. |
Collation |
No |
Cadena que especifica la secuencia de intercalación que se va a usar en el origen de datos. |
Nota: |
---|
Se puede aplicar cualquier número de atributos de anotación (atributos XML personalizados) al elemento CollectionType.Sin embargo, es posible que los atributos personalizados no pertenezcan a ningún espacio de nombres XML reservado para CSDL.Dos atributos personalizados cualesquiera no pueden tener nombres completos idénticos. |
Ejemplo
En el siguiente ejemplo se muestra una función definida por modelo que utiliza un elemento CollectionType para especificar que la función devuelve una colección de tipos de entidad Person (tal y como se especifica con el atributo 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>
El ejemplo siguiente muestra una función definida por modelo que utiliza un elemento CollectionType para especificar que la función devuelve una recopilación de filas (tal y como se especifica en el elemento 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 >= somestring
</DefiningExpression>
</Function>
El ejemplo siguiente muestra una función definida por modelo que utiliza el elemento CollectionType para especificar que la función acepta como un parámetro una colección de tipos de entidad 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>
Vea también
Conceptos
Información general de Entity Framework
Especificación CSDL
FunctionImport (Elemento) (CSDL)
Otros recursos
Especificaciones CSDL, SSDL y MSL
ADO.NET Entity Data Model Tools