我正在考虑实现一些 LINQ to SQL,但很难了解我们如何添加访问控制业务规则,例如客户 a 只能查看他们的订单。在 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(string customerId)