我正计划一个WCF服务来返回列表,数据,所有常用的东西。如何使用lambda/linq过滤WCF服务结果
现在我很久以前看到了这里作为.NET 4.5,你可以通过lambda表达式或过滤器,WCF(我也看到在pluralsight视频某处的东西),允许你写沿
东西线IQuerable<string> GetInfo();
// or
List<string> GetInfo(Expression predicate);
而不是
GetInfo(int page, int resultsPerPage, bool sortAsc, string sortColumn);
然而,正如我在读我周围看到很多相互矛盾的(老)的信息说这个心不是可能的。是否可以在通过linq或lambda表达式返回之前过滤WCF结果?
更新
我实现了一个服务(WCF不WCF数据服务)像这样,我也得到了预期的结果。客户端实际上是将查询传递给Web服务还是正在呈现客户端?
public class Service1 : IService1
{
public IQueryable<string> DoWork()
{
List<string> strings = new List<string>();
for (char c = 'a'; c < 'z'; c++)
{
strings.Add(c.ToString());
}
return strings.AsQueryable();
}
}
客户:
Service1 s = new Service1();
var results = s.DoWork();
var results1 = results.Where(str => str == "a"); // works
我想知道更多关于它。我假设消费者也应该实现IQurable。基于Java的消费者如何实现这一目标? – PradeepGB
发现了类似的问题,接受这里: http://stackoverflow.com/questions/18143181/c-sharp-how-to-serialize-system-linq-expressions – PradeepGB