Udostępnij za pośrednictwem


Dodawanie deskryptora filtru do metody wyszukiwania

Deskryptory filtrów umożliwiają użytkownikom modelu przekazywanie wartości do metod przed ich wykonaniem. Aby uzyskać więcej informacji, zobacz Projektowanie modelu łączności danych biznesowych.

Jednym z typowych scenariuszy jest to, że użytkownicy w programie SharePoint chcą pobrać wystąpienia typu zawartości zewnętrznej, które spełniają niektóre kryteria. Ten scenariusz można obsługiwać, dodając deskryptor filtru do metody wyszukiwania.

Aby dodać deskryptor filtru do metody wyszukiwania

  1. W oknie Szczegóły metody usługi BDC rozwiń węzeł metody wyszukiwania, rozwiń węzeł Parametry, a następnie dodaj parametr wejściowy. Aby uzyskać więcej informacji, zobacz How to: Add a parameter to a method (Instrukcje: dodawanie parametru do metody).

  2. W oknie Szczegóły metody wybierz deskryptor typów parametru.

  3. Na pasku menu wybierz pozycję Wyświetl>okno właściwości.

  4. W oknie Właściwości ustaw właściwość Type Name na typ danych odpowiedni dla filtru.

    Na przykład filtr może użyć daty zamówienia, aby ograniczyć liczbę zamówień zwróconych przez metodę . Aby obsługiwać ten filtr, właściwość Nazwa typu deskryptora typu musi być ustawiona na Wartość System.DateTime.

  5. W oknie Szczegóły metody rozwiń węzeł Deskryptory filtru.

  6. Na liście Dodaj deskryptor filtru wybierz pozycję Utwórz deskryptor filtru.

    Nowy deskryptor filtru jest wyświetlany poniżej węzła Deskryptory filtrów .

  7. Na pasku menu wybierz pozycję Wyświetl>okno właściwości.

  8. W oknie Właściwości wybierz właściwość Typ.

  9. Na liście wyświetlanej dla właściwości Typ wybierz odpowiedni wzorzec filtrowania.

    Aby na przykład utworzyć filtr, który używa daty zamówienia w celu ograniczenia liczby zamówień zwróconych w metodzie wyszukiwania, wybierz pozycję Porównanie. Filtr Porównania zapewnia, że metoda wyszukiwania zwraca tylko wystąpienia spełniające określony warunek. Aby uzyskać więcej informacji na temat każdego wzorca filtrowania, zobacz Typy filtrów obsługiwanych przez usługę BDC.

  10. W oknie Właściwości wybierz właściwość Skojarzone deskryptory typów.

  11. Na liście wyświetlanej dla właściwości Skojarzone deskryptory typów wybierz deskryptor typów utworzony wcześniej w tej procedurze. Powoduje to powiązanie filtru z parametrem wejściowym metody Finder.

  12. Dodaj kod do metody finder zwracającej dane. Możesz użyć parametru wejściowego jako warunku w zapytaniu select.

    Poniższy przykład zwraca zamówienia sprzedaży, które mają określoną datę zamówienia.

    Uwaga

    Zastąp wartość ServerName pola nazwą serwera.

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