Freigeben über


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

  1. 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.

  2. In der Methodendetails Fenster, wählen Sie die Beschreibung der Typ des Parameters.

  3. Wählen Sie auf der Menüleiste Anzeigen, Eigenschaftenfenster.

  4. 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.

  5. Erweitern Sie im Fenster Methodendetails den Knoten Filterdeskriptoren.

  6. In hinzufügen einen Deskriptor Filter Liste, wählen Sie Filterdeskriptor erstellen.

    Unter dem Knoten Filterdeskriptoren wird ein neuer Filterdeskriptor angezeigt.

  7. Wählen Sie auf der Menüleiste Anzeigen, Eigenschaftenfenster.

  8. In der Eigenschaften Fenster, wählen Sie die Type Eigenschaft.

  9. 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.

  10. In der Eigenschaften Fenster, wählen Sie die Verknüpften Typdeskriptoren Eigenschaft.

  11. 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.

  12. 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.

    HinweisHinweis

    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

Weitere Ressourcen

Entwerfen eines Business Data Connectivity-Modells

Integrieren von Geschäftsdaten in SharePoint