Udostępnij za pośrednictwem


Jak: filtrowanie danych za pomocą kodu

Używając metody <EntitySet>_Filter, można zaimplementować zabezpieczenia na poziomie wierszy, tak aby pojawiał się tylko podzbiór rekordów, bazujący na uprawnieniach użytkownika.Na przykład można pozwalać pracownikowi na wyświetlanie informacji na temat tylko jego wynagrodzenia.

Aby zastosować filtr

  1. W Eksploratorze rozwiązań otwórz menu skrótów dla encji, a następnie wybierz Otwórz.

    Encja zostanie otwarta w Projektancie danych.

  2. Na pasku poleceń w Projektancie danych wybierz strzałkę obok przycisku Napisz kod, a następnie wybierz polecenie EntitySet**_Filter**.

    Zostanie otwarty Edytor kodu.

  3. Dodaj kod do metody.

    Poniższy przykład kodu filtruje encje Pracownicy tak, aby bieżący użytkownik mógł wyświetlić tylko te rekordy, które zawierają jego nazwisko:

    Private Sub Employees_Filter(ByRef filter As System.Linq.Expressions.Expression(Of System.Func(Of Employee, Boolean)))
       filter = Function(e) e.EmployeeName = Me.Application.User.Name
    End Sub
    
    partial void Employees_Filter(ref Expression<Func<Employee, bool>> filter)
            {
                  filter = e => e.EmployeeName == this.Application.User.Name;
            }
    

Zobacz też

Zadania

Jak: obsługi zdarzeń danych

Koncepcje

Praca z obiektami związanymi z danymi w kodzie