簡體   English   中英

如何使用Lambda / Linq過濾WCF服務結果

[英]How can I filter WCF service results using lambda / linq

我正在計划一個WCF服務以返回列表,數據和所有常見的東西。

現在,我很久以前就在這里看到,從.NET 4.5開始,您可以將Lambda表達式或過濾器傳遞給WCF(我在某處的復數視頻中也看到了某些內容),使您可以按照

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

看起來您需要WCF數據服務

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM