Condividi tramite


Aggiungere un descrittore di filtro a un metodo Finder

I descrittori di filtro consentono ai consumer del modello di passare valori ai metodi prima dell'esecuzione. Per altre informazioni, vedere Progettare un modello di integrazione applicativa dei dati.

Uno scenario comune è che gli utenti di SharePoint vogliono recuperare istanze di un tipo di contenuto esterno che soddisfano alcuni criteri. È possibile supportare questo scenario aggiungendo un descrittore di filtro a un metodo Finder.

Per aggiungere un descrittore di filtro a un metodo Finder

  1. Nella finestra Dettagli metodo BDC espandere il nodo di un metodo Finder, espandere il nodo Parametri e quindi aggiungere un parametro di input. Per altre informazioni, vedere Procedura: Aggiungere un parametro a un metodo.

  2. Nella finestra Dettagli metodo scegliere il descrittore di tipo del parametro.

  3. Sulla barra dei menu scegliere Visualizza>finestra Proprietà.

  4. Nella finestra Proprietà impostare la proprietà Type Name su un tipo di dati appropriato per il filtro.

    Ad esempio, un filtro potrebbe usare una data dell'ordine per limitare il numero di ordini di vendita restituiti dal metodo . Per supportare tale filtro, la proprietà Type Name del descrittore di tipo deve essere impostata su System.DateTime.

  5. Nella finestra Dettagli metodo espandere il nodo Descrittori filtro.

  6. In Aggiungi un elenco Descrittore filtro scegliere Crea descrittore filtro.

    Sotto il nodo Descrittori filtro viene visualizzato un nuovo descrittore di filtro.

  7. Sulla barra dei menu scegliere Visualizza>finestra Proprietà.

  8. Nella finestra Proprietà scegliere la proprietà Type.

  9. Nell'elenco visualizzato per la proprietà Type scegliere il modello di filtro desiderato.

    Ad esempio, per creare un filtro che usa una data di ordine per limitare il numero di ordini di vendita restituiti in un metodo Finder, scegliere Confronto. Un filtro Di confronto garantisce che un metodo di ricerca restituisca solo istanze che soddisfano una condizione specifica. Per altre informazioni su ogni modello di filtro, vedere Tipi di filtri supportati dal cluster Big Data.

  10. Nella finestra Proprietà scegliere la proprietà Descrittori di tipi associati.

  11. Nell'elenco visualizzato per la proprietà Descrittori di tipi associati scegliere il descrittore di tipo creato in precedenza in questa procedura. In questo modo il filtro viene correlato al parametro di input del metodo Finder.

  12. Aggiungere codice al metodo Finder che restituisce dati. È possibile usare il parametro di input come condizione in una query di selezione.

    Nell'esempio seguente vengono restituiti gli ordini di vendita con la data dell'ordine specificata.

    Nota

    Sostituire il valore del ServerName campo con il nome del 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;
    }