У меня есть ServiceOperation для запроса элементов, доступных определенному пользователю в определенное время.Короче говоря, этот метод:
var fullResult = from i in Items where ... select i; //get ALL possible items where...,
Допустим, он возвращает элементы {A, B, C, D}.Второй запрос отфильтровывает, к какому из этих элементов имеет доступ вызывающий пользователь.
var clientResult = from ci in fullResult where (privilege's and schedule's are true)
Этот результат преобразования в {A, C} и возвращается.Результат на стороне клиента: отображается только список элементов, к которым клиент имеет доступ.Это может раздражать, так как вы не знаете, допустили ли вы ошибку при поиске, или элемент просто сейчас недоступен.
Я хотел бы показать все возможные результаты клиенту {A, B, C, D}, но FLAG B и D в этом случае недоступны.
MyУ сущности уже есть свойство isReadOnly, которое я мог бы использовать.
Могу ли я написать запрос, чтобы не только отфильтровать, но и пометить оставшиеся результаты только для чтения?Идеальным результатом будет {A, B.isREadOnly = true, C, D.isReadOnly = true}
Или я достиг предела того, что выполнимо, и мне нужно написать традиционный веб-метод WCF,создать отдельный класс, возвращая список результатов?
PS: это свойство 'isReadOnly' используется только для этого, я не против, чтобы оно вообще изменялось в БД
Thanxдля любых указателей
Андреас