Comment : ajouter un descripteur de filtre à une méthode de rechercheHow to: Add a filter descriptor to a Finder method

Descripteurs de filtre permettent aux consommateurs du modèle transmettre des valeurs aux méthodes avant leur exécution.Filter descriptors enable consumers of the model to pass values to methods before they execute. Pour plus d’informations, consultez concevoir un modèle de connectivité de données métiers.For more information, see Design a business data connectivity model.

Un scénario courant est que les utilisateurs de SharePoint récupérer les instances d’un type de contenu externe qui correspondent à certains critères.One common scenario is that users in SharePoint want to retrieve instances of an external content type that match some criteria. Vous pouvez prendre en charge ce scénario en ajoutant un descripteur de filtre à une méthode de recherche.You can support this scenario by adding a filter descriptor to a Finder method.

Pour ajouter un descripteur de filtre à une méthode de rechercheTo add a filter descriptor to a Finder method

  1. Dans le détails de méthode BDC fenêtre, développez le nœud d’une méthode de recherche, développez le paramètres nœud, puis ajoutez un paramètre d’entrée.In the BDC Method Details window, expand the node of a Finder method, expand the Parameters node, and then add an input parameter. Pour plus d’informations, consultez Comment : ajouter un paramètre à une méthode.For more information, see How to: Add a parameter to a method.

  2. Dans le détails de la méthode fenêtre, choisissez le descripteur de type du paramètre.In the Method Details window, choose the type descriptor of the parameter.

  3. Dans la barre de menus, choisissez vue > fenêtre Propriétés.On the menu bar, choose View > Properties Window.

  4. Dans le propriétés fenêtre, définissez la nom de Type propriété à un type de données qui est approprié pour le filtre.In the Properties window, set the Type Name property to a data type that is appropriate for the filter.

    Par exemple, un filtre peut utiliser une date de commande pour limiter le nombre de commandes client retournées par la méthode.For example, a filter might use an order date to limit the number of sales orders returned by the method. Pour prendre en charge ce filtre, le nom de Type propriété du descripteur de type doit être définie sur System.DateTime.To support that filter, the Type Name property of the type descriptor must be set to System.DateTime.

  5. Dans le détails de la méthode fenêtre, développez le descripteurs de filtre nœud.In the Method Details window, expand the Filter Descriptors node.

  6. Dans ajouter un descripteur de filtre , choisissez créer un descripteur de filtre.In Add a Filter Descriptor list, choose Create Filter Descriptor.

    Un nouveau descripteur de filtre apparaît sous le descripteurs de filtre nœud.A new filter descriptor appears underneath the Filter Descriptors node.

  7. Dans la barre de menus, choisissez vue > fenêtre Propriétés.On the menu bar, choose View > Properties Window.

  8. Dans le propriétés fenêtre, choisissez le Type propriété.In the Properties window, choose the Type property.

  9. Dans la liste qui s’affiche pour le Type propriété, choisissez le modèle de filtrage que vous le souhaitez.In the list that appears for the Type property, choose the filtering pattern that you want.

    Par exemple, pour créer un filtre qui utilise une date de commande pour limiter le nombre de commandes client retournées dans une méthode de recherche, choisissez comparaison.For example, to create a filter that uses an order date to limit the number of sales orders returned in a Finder method, choose Comparison. Un filtre de comparaison permet de s’assurer qu’une méthode de recherche retourne uniquement les instances qui remplissent une condition spécifique.A Comparison filter ensures that a finder method returns only instances that meet a specific condition. Pour plus d’informations sur chaque modèle de filtrage, consultez Types de filtres pris en charge par le BDC.For more information about each filtering pattern, see Types of Filters Supported by the BDC.

  10. Dans le propriétés fenêtre, choisissez le descripteurs de Type associés propriété.In the Properties window, choose the Associated Type Descriptors property.

  11. Dans la liste qui s’affiche pour le descripteurs de Type associés propriété, choisissez le descripteur de type que vous avez créé précédemment dans cette procédure.In the list that appears for the Associated Type Descriptors property, choose the type descriptor that you created earlier in this procedure. Le paramètre d’entrée de la méthode de recherche concerne le filtre.This relates the filter to the input parameter of the Finder method.

  12. Ajoutez le code à la méthode de recherche qui retourne des données.Add code to the Finder method that returns data. Vous pouvez utiliser le paramètre d’entrée comme une condition dans une requête select.You can use the input parameter as a condition in a select query.

    L’exemple suivant retourne les commandes qui ont la date de commande spécifié.The following example returns sales orders that have the specified order date.

    Note

    Remplacez la valeur de la ServerName champ avec le nom de votre serveur.Replace the value of the ServerName field with the name of your server.

    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;
    }
    
    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
    

Voir aussiSee also

Comment : ajouter une méthode de recherche How to: Add a Finder method
Comment : ajouter une méthode de recherche spécifique How to: Add a specific Finder method
Comment : ajouter un paramètre à une méthode How to: Add a parameter to a method
Comment : définir le descripteur de type d’un paramètre How to: Define the type descriptor of a parameter
Concevoir un modèle de connectivité de données métiers Design a business data connectivity model
Intégration de données métiers dans SharePointIntegrating business data into SharePoint