Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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