我创建了一个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
似乎缺少参数。
我怎样才能正确添加它们?
答案 0 :(得分:0)
好吧,我想通了......
我非常喜欢Fluent语法,但我忘了检查CreateQuery
是否使用了它。
所以而不是
query.AddQueryOption("infoTag", "abc");
我必须使用它:
query=query.AddQueryOption("infoTag", "abc");
或者这个:
DataServiceQuery<MyServiceReference.Info> query = entities.CreateQuery<MyServiceReference.Info>("GetInfo").AddQueryOption("infoTag", "abc");