Я читал о перехватчиках запросов. Я был разочарован, потому что это больше похоже на фильтр, а не на перехватчик. Другими словами, вы можете либо включать записи, либо не включать их. Например, вы не можете изменять записи.
Если я хочу создать перехватчик запросов для пользователей моей сущности, я мог бы сделать что-то вроде:
Код: Выделить всё
[QueryInterceptor("Users")] // apply to table users
public Expression UsersOnRead()
{
return cust => cust.IsDeleted == false;
}
Что, если вместо этого я создам операцию: ПРИМЕЧАНИЕ ОЧЕНЬ ВАЖНО, ЧТОБЫ ИМЕТЬ ИМЯ ОПЕРАЦИИ ТАКЖЕ, КАК ИМЕНИ СУЩЕСТВА, В противном случае ОНО БУДЕТ НЕ РАБОТАЕТ
Код: Выделить всё
[WebGet]
public IEnumerable Users()
{
return this.CurrentDataSource.Users.Where(x=>x.IsDeleted==false);
}
Размещение этого метода вместо перехватчика запросов приводит к тому, что моя служба ведет себя точно так же. Плюс у меня больше силы! Является ли такой подход лучшим решением?
Подробнее здесь:
https://stackoverflow.com/questions/232 ... a-services