CollectionType-Element (CSDL)
Das CollectionType-Element in konzeptioneller Schemadefinitionssprache (CSDL) gibt an, dass ein Funktionsparameter oder ein Funktionsrückgabetyp eine Auflistung ist. Weitere Informationen finden Sie unter Function-Element (CSDL). Das CollectionType-Element kann ein untergeordnetes Element des Parameter-Elements oder des ReturnType-Elements sein. Der Typ der Auflistung kann entweder mit dem ElementType-Attribut oder einem der folgenden untergeordneten Elemente angegeben werden:
CollectionType
-
Hinweis: Ein Modell überprüft nicht, ob für den Auflistungstyp das ElementType-Attribut bzw. ein untergeordnetes Element angegeben ist.
Anwendbare Attribute
In der folgenden Tabelle werden die Attribute beschrieben, die für das CollectionType-Element übernommen werden können. Die DefaultValue-, MaxLength-, FixedLength-, Precision-, Scale-, Unicode- und Collation-Attribute sind nur für Auflistungen der EDMSimpleTypes zulässig. Weitere Informationen finden Sie unter Facets (CSDL) und Konzeptionelle Modelltypen.
Attributname | Ist erforderlich | Wert |
---|---|---|
ElementType |
Nein |
Der Typ der Auflistung. |
Nullable |
Nein |
True (Standardwert) oder False, je nach dem, ob die Eigenschaft über einen Null-Wert verfügen kann.
Hinweis:
In der Version von CSDL, die vom https://schemas.microsoft.com/ado/2006/04/edm-Namespace angegeben wurde, muss eine komplexe Typeigenschaft
Nullable="False" aufweisen.
|
DefaultValue |
Nein |
Der Standardwert der Eigenschaft. |
MaxLength |
Nein |
Die maximale Länge des Eigenschaftswerts. |
FixedLength |
Nein |
True oder False, abhängig davon, ob der Eigenschaftswert als Zeichenfolge mit fester Länge gespeichert wird. |
Precision |
Nein |
Die Genauigkeit des Eigenschaftswerts. |
Scale |
Nein |
Die Skalierung des Eigenschaftswerts. |
Unicode |
Nein |
True oder False, abhängig davon, ob der Eigenschaftswert als Unicode-Zeichenfolge gespeichert wird. |
Collation |
Nein |
Eine Zeichenfolge, die die Sortierreihenfolge angibt, die in der Datenquelle verwendet werden soll. |
Hinweis: |
---|
Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das CollectionType-Element übernommen werden.Benutzerdefinierte Attribute dürfen jedoch zu keinem XML-Namespace gehören, der für CSDL reserviert ist.Die vollqualifizierten Namen für zwei benutzerdefinierte Attribute dürfen nicht übereinstimmen. |
Beispiel
Das folgende Beispiel zeigt eine modelldefinierte Funktion, die mithilfe eines CollectionType-Elements angibt, dass die Funktion eine Auflistung von Person-Entitätstypen (wie mit dem ElementType-Attribut angegeben) zurückgibt.
<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>
Das folgende Beispiel zeigt eine modelldefinierte Funktion, die mithilfe eines CollectionType-Elements angibt, dass die Funktion eine Auflistung von Zeilen (wie im RowType-Element angegeben) zurückgeben soll.
<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>
Das folgende Beispiel zeigt eine modelldefinierte Funktion, die mithilfe des CollectionType-Elements angibt, dass die Funktion eine Auflistung von Department-Entitätstypen als Parameter akzeptiert.
<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>
Siehe auch
Konzepte
Übersicht über das Entity Framework
CSDL-Spezifikation
FunctionImport-Element (CSDL)
Weitere Ressourcen
CSDL-, SSDL- und MSL-Spezifikationen
ADO.NET Entity Data Model Tools