如果没有返回任何对象,则在调用ToList时,WCF数据服务操作会抛出异常

时间:2014-11-08 16:27:15

标签: c# wcf-data-services

如果未返回任何对象,则以下客户端方法会导致InvalidOperationException。错误是'收集类型仅在Odata协议的3.0版本中受支持。这似乎是一个不正确的错误消息。

如何在调用ToList之前检查是否已返回至少一个对象?不应该调用ToList只返回一个空列表而不抛出异常吗?

private static void TestSearchAgentsDs(string qryString)
{
    var context = new RapDataServiceReference.RapEntities(new Uri(_svcUri));

    //Get Agents matching search criteria using WCFDS Operation
    var queryString = String.Format(
    "SearchAgents"
    + "?queryString='{0}'"
    , qryString
    );

    var result = (context.Execute<RapDataServiceReference.TvfSearchAgents_Result>(new Uri(queryString, UriKind.Relative), "GET", false));
    var agents = result.ToList();
    foreach (var agent in agents)
    {
    Console.WriteLine("Agent: {0}, agent.AgentName);
    }
}

0 个答案:

没有答案