Я смотрю на реализацию некоторых LINQ to SQL, но изо всех сил пытаюсь понять, как мы добавим бизнес-правила управления доступом, например, клиент может просматривать только свои заказы.
В службах данных ado.net запросчики выполняют именно то, что мне нужно, и могут видеть, как проверить обновление / вставку / удаление, но есть ли эквивалент этого:
[QueryInterceptor("Orders")]
public IQueryable<Orders> OnQueryOrders(IQueryable<Orders> orderQuery)
{
return from o in orderQuery
where o.Customers.ContactName == HttpContext.Current.User.Identity.Name
select o;
}
Или мне нужно управлять через аксессоры по линии:
GetOrdersByCustomer (строка customerId)