AddQueryOption 在 WCF DataServices Portable 中不起作用

AddQueryOption not working in WCF DataServices Portable

我已经创建了一个 Xamarin.Forms 项目,现在我打算使用来自 WCF 数据服务的一些数据。

我这样创建查询:

        MyEntities entities = new MyEntities(new Uri("http://localhost/MyService.svc/"));
        DataServiceQuery<MyServiceReference.Info> query = entities.CreateQuery<MyServiceReference.Info>("GetInfo");            
        query.AddQueryOption("infoTag", "abc");
        query.BeginExecute((result) =>
        {
            try
            {
                var que = result.AsyncState as DataServiceQuery<MyServiceReference.Info>;
                var res = que.EndExecute(result);
                foreach (var item in res)
                {
                    System.Diagnostics.Debug.WriteLine(item.Name);
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
            }
        }, query);

根据 this tutorial,我应该看到完整的查询以及参数。

当我检查查询 URI 时,是这样的:http://localhost/MyService.svc/GetInfo

好像是少了参数。

如何正确添加它们?

好吧,我想通了... 我非常喜欢 Fluent 语法,但我忘了检查 CreateQuery 是否使用它。

所以

query.AddQueryOption("infoTag", "abc");

我必须使用这个:

 query=query.AddQueryOption("infoTag", "abc");

或者这个:

DataServiceQuery<MyServiceReference.Info> query = entities.CreateQuery<MyServiceReference.Info>("GetInfo").AddQueryOption("infoTag", "abc");