Практическое руководство. Фильтрация данных с помощью кода

С помощью метода <EntitySet>_Filter, можно реализовать безопасность на уровне строк, так что только подмножество записей будет отображаться на основе пользовательских разрешений.Например, может потребоваться разрешить сотруднику просматривать данные только о собственной зарплате.

Применение фильтра

  1. В Обозревателе решений откройте контекстное меню для сущности, а затем выберите Открыть.

    Сущность откроется в Конструкторе данных.

  2. На панели команд в Конструкторе данных выберите стрелку рядом с кнопкой Запись кода, а затем выберите EntitySet**_Filter**.

    Откроется редактор кода.

  3. Добавьте код в метод .

    В следующем примере на сущность Employees накладывается фильтр, таким образом, чтобы текущий пользователь мог отобразить только записи, содержащие его имя:

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

См. также

Задачи

Практическое руководство. Обработка событий данных

Основные понятия

Работа с объектами, связанными с данными, в коде