Generische Einschränkungen auf Datenquellen-Anforderungen zuordnen
Das Visual Studio-Metadatenmodul steuert die Enumeration von Objekttypen durch Angabe des Typnamens zusammen mit Einschränkungen für eine angegebene Enumeration. Es ist bis auf den Datenobjekttyp dann Informationen bereitstellen, um den Typnamen und die Einschränkungen in einen Aufruf der Enumeration zu konvertieren. Da jedoch Einschränkungen notwendigerweise datenquellenspezifisch sind, müssen Sie einen Satz generische Einschränkungen für jeden zugeordneten Typ aufweisen und weiter, eine Möglichkeit, diese generischen Einschränkungen in den eigentlichen datenquellenspezifischen Einschränkungen zu konvertieren, um den richtigen Satz von Objekten aufzulisten.
Damit das Metadatenmodul Datenquellenobjekte, die an den generischen Typen mit generischen Bezeichnern und Eigenschaften zuordnen, das Metadatenmodul erfordert eine Methode, damit Clients eine Reihe generischer Objekte angeben können, aufgelistet werden sollen. Auf der Ebene der Datenquelle besteht die Möglichkeit, Einschränkungen zu verwenden, um die Menge Daten-Objekte einzuschränken, die vom Datenanbieter aufgelistet werden.
Allerdings sind diese Einschränkungen notwendigerweise datenquellenspezifisch und können nicht direkt von einem generischen Clients daher verwendet werden. Daher muss ein Satz generische Einschränkungen für jeden zugeordneten Typ zugeordnet werden. Es muss außerdem eine Möglichkeit geben, diese generischen Einschränkungen zu den entsprechenden datenquellenspezifischen Einschränkungen zu konvertieren, die benötigt werden, um bestimmte Objekte eines Satzes von Daten aufzulisten.
Zuordnungs-Einschränkungen
Wie bei Zuordnung von datenquellenspezifischen Daten zu den Konzepten generischen (siehe Zuordnungs-Objekttyp-Bezeichner und Eigenschaften mit generischen Typen), ergibt sich ein Problem, wenn Sie den generischen Einschränkungen datenquellenspezifisches zuordnen. Mehrdeutigkeit kann auftreten, z. B. wenn eine generische Einschränkung mehrere datenquellenspezifische Einschränkungen darstellt, oder umgekehrt. In anderen Hilfethemen verwenden wir dies als das b an: g-Problem.
Eine Projektmappe wird in der XML-Schemadatei, die zu einem Datenanbieter kann, um eine benutzerdefinierte Konvertierung eines datenquellenspezifischen Einschränkung angegeben wird, eine oder mehrere angegebenen generischen Einschränkungswerte enthalten.
Insbesondere wenn ein Datenanbieter ein zugeordnetes Element angibt, das mit einem angegebenen Objekttyp zugeordnet ist, ist es möglich, Attribute hinzuzufügen, mit denen die erforderlichen Einschränkungen, den Filter und die Sortierung beschreiben. Innerhalb der Einschränkungen und des Filters kann ein Parameterbezeichner Daten aufzunehmen, der den entsprechenden Wert für eine generische Einschränkung bereitstellt. Betrachten Sie das folgende Beispiel:
<MappedType name="Table" underlyingType="Table" />
<Selection restrictions="{Schema},{Name}"/>
</MappedType>
In diesem Beispiel gibt der Anbieter an, dass die Werte der generischen Einschränkungen und Schema für den Name Tabelle zugeordneten Typ Back-End-spezifisch Einschränkungen und dem Namen mit dem Schema zuerst Sekunde zugeordnet werden sollen.
In Fällen, in denen es keine direkte Zuordnung zwischen generischen und quellenspezifischen Einschränkungen gibt, kann der Anbieter die Ersetzung von Werten aus dem Parameterbezeichner Daten hinzu, wie im folgenden Beispiel gezeigt und verweisen:
<MappedType name="Table" underlyingType="Table" />
<Selection restrictions="{Schema},{Name},{0}">
<SubstitutionValue mappedRestriction="Type">
<Conversion>
<Calculate expr="IIF({0}='SYSTEM',true,false)" type="System.Boolean"/>
</Conversion>
</SubstitutionValue>
</Selection>
</Concept>
In diesem Beispiel weist der Anbieter eine dritte Beschränkung, IsSystemObject, die ein boolescher Wert ist, der die Art der Objekte angibt, die aufgelistet werden sollen. Wenn nicht angegeben, werden alle Objekte aufgezählt. false, wenn Objekte aufgelistet werden, nur Benutzer truewenn nur Systemobjekte aufgelistet werden.
Darüber hinaus wird angenommen, dass der Tabelle zugeordnete Typ eine generische Einschränkung, Typeverfügt, dessen Wert ist entweder „oder“ die „SYSTEM“. Da es keine direkte Zuordnung zwischen diesen beiden Formaten wird, fügt der Anbieter einen Ersatz Wert, der den Wert der Einschränkung „Typ“ akzeptiert und einen Ausdruck verwendet wird, um ihn an den entsprechenden booleschen Wert konvertiert werden soll. Anschließend verwendet der Daten einen Datenanbieter Parameterbezeichner, um den Wert für Ersetzungen zu verweisen. Die Daten, die Angabe eines Indexes mit den Verweis in die Sätze von Werten Sie diese Ersetzung durchführen können, auf dem angegebenen MappedType-Element an. In diesem Fall wird nur ein Wert angegeben.
Siehe auch
Konzepte
Zuordnungs-Objekttyp-Bezeichner und Eigenschaften mit generischen Typen