Gewusst wie: Hinzufügen eines Filterdeskriptors zu einer Finder-Methode
Filterdeskriptoren ermöglichen es Consumern des Modells, Werte an Methoden zu übergeben, bevor sie ausgeführt werden.Weitere Informationen finden Sie unter Entwerfen eines Business Data Connectivity-Modells.
Häufig möchten Benutzer in SharePoint Instanzen eines externen Inhaltstyps abrufen, auf die bestimmte Kriterien zutreffen.Dies können Sie unterstützen, indem Sie einer Finder-Methode einen Filterdeskriptor hinzufügen.
So fügen Sie einer Finder-Methode einen Filterdeskriptor hinzu
Erweitern Sie im Fenster BDC-Methodendetails den Knoten einer Finder-Methode, erweitern Sie den Knoten Parameter, und fügen Sie einen Eingabeparameter hinzu.Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen eines Parameters zu einer Methode.
In der Methodendetails Fenster, wählen Sie die Beschreibung der Typ des Parameters.
Wählen Sie auf der Menüleiste Anzeigen, Eigenschaftenfenster.
Legen Sie im Eigenschaftenfenster die Eigenschaft Typname auf einen für den Filter geeigneten Datentyp fest.
So kann in einem Filter beispielsweise anhand des Bestelldatums die Anzahl der von der Methode zurückgegebenen Aufträge eingeschränkt werden.Damit dieser Filter unterstützt wird, muss die Eigenschaft Typname des Typdeskriptors auf System.DateTime festgelegt werden.
Erweitern Sie im Fenster Methodendetails den Knoten Filterdeskriptoren.
In hinzufügen einen Deskriptor Filter Liste, wählen Sie Filterdeskriptor erstellen.
Unter dem Knoten Filterdeskriptoren wird ein neuer Filterdeskriptor angezeigt.
Wählen Sie auf der Menüleiste Anzeigen, Eigenschaftenfenster.
In der Eigenschaften Fenster, wählen Sie die Type Eigenschaft.
In der Liste für die Type -Eigenschaft, wählen Sie das gewünschte Filterung Muster.
Z. B. einen Filter erstellen, mit denen ein Bestelldatum begrenzen die Anzahl der Aufträge in einer Finder-Methode zurückgegeben, wählen Sie Vergleich.Ein Vergleichsfilter wird sichergestellt, dass eine Suchmethode nur Instanzen zurückgibt, die eine bestimmte Bedingung erfüllen.Weitere Informationen zu den einzelnen Filtermustern finden Sie unter Von BDC unterstützte Filtertypen.
In der Eigenschaften Fenster, wählen Sie die Verknüpften Typdeskriptoren Eigenschaft.
In der Liste für die Verknüpften Typdeskriptoren -Eigenschaft, wählen Sie die Typdeskriptor, die Sie zuvor in diesem Verfahren erstellt.Dadurch wird der Filter mit dem Eingabeparameter der Finder-Methode verknüpft.
Fügen Sie der Finder-Methode Code hinzu, durch den Daten zurückgegeben werden.Der Eingabeparameter kann als Bedingung in einer Auswahlabfrage verwendet werden.
Im folgenden Beispiel werden Aufträge mit dem angegebenen Bestelldatum zurückgegeben.
Hinweis Ersetzen Sie den Wert des Felds ServerName durch den Namen Ihres Servers.
Public Shared Function ReadList(ByVal OrderDateParam As DateTime) As IEnumerable(Of SalesOrderHeader) Const ServerName As String = "MySQLServerName" Dim dataContext As AdventureWorksDataContext = _ New AdventureWorksDataContext("Data Source=" & ServerName & _ ";Initial Catalog=AdventureWorks;Integrated Security=True") Dim NoValuePassedIn As DateTime = Convert.ToDateTime("1/1/1900 12:00:00 AM") Dim DefaultDateTime As DateTime = Convert.ToDateTime("2001-09-01 00:00:00.000") ' If the user does not provide a value for the filter. If OrderDateParam = NoValuePassedIn Then ' Use a default date time value. OrderDateParam = DefaultDateTime End If Dim SalesOrderHeader As IEnumerable(Of SalesOrderHeader) = _ From SalesOrderHeaders In dataContext.SalesOrderHeaders _ Where SalesOrderHeaders.OrderDate = OrderDateParam _ Select SalesOrderHeaders Return SalesOrderHeader End Function
public static IEnumerable<SalesOrderHeader> ReadList(DateTime OrderDateParam) { const string ServerName = "MySQLServerName"; AdventureWorksDataContext dataContext = new AdventureWorksDataContext ("Data Source=" + ServerName + ";" + "Initial Catalog=AdventureWorks;Integrated Security=True"); DateTime NoValuePassedIn = Convert.ToDateTime("1/1/1900 12:00:00 AM"); DateTime DefaultDateTime = Convert.ToDateTime("2001-09-01 00:00:00.000"); // If the user does not provide a value for the filter. if (OrderDateParam == NoValuePassedIn) { // Use a default date time value. OrderDateParam = DefaultDateTime; } IEnumerable<SalesOrderHeader> SalesOrderHeader = from salesOrderHeaders in dataContext.SalesOrderHeaders where salesOrderHeaders.OrderDate == OrderDateParam select salesOrderHeaders; return SalesOrderHeader; }
Siehe auch
Aufgaben
Gewusst wie: Hinzufügen einer Finder-Methode
Gewusst wie: Hinzufügen einer bestimmten Finder-Methode
Gewusst wie: Hinzufügen eines Parameters zu einer Methode
Gewusst wie: Definieren des Typdeskriptors für einen Parameter