我有一个 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)
这个 mite 产生 {A, C } 并被返回。客户端的结果是:只显示客户端可以访问的项目列表。这可能很烦人,因为您不知道您是否在搜索时出错,或者该项目现在不可用。
我想做的是向客户端 {A, B, C, D} 显示所有可能的结果,但在这种情况下,标志 B 和 D 不可用。
我的实体已经有一个我可以使用的属性 isReadOnly。
我可以编写一个查询来过滤掉,而且还可以将任何剩余的结果标记为只读?理想的结果是 {A, B.isREadOnly=true, C, D.isReadOnly=true}
或者我是否达到了可行的极限,我是否必须编写一个传统的 WCF Web 方法,创建一个单独的类,返回一个结果列表?
PS:这个“isReadOnly”属性只用于这个,我不介意它在数据库中被改变
感谢任何指针
安德烈亚斯