WCF错误:我的WCF客户端从OData(WCF数据服务)数据提供程序返回错误结果
我有以下代码:WCF错误:我的WCF客户端从OData(WCF数据服务)数据提供程序返回错误结果,wcf,c#-4.0,odata,Wcf,C# 4.0,Odata,我有以下代码: class Program { static void Main(string[] args) { var query = new CombinedFundsEntities(new Uri("http://xxx.xxx.xxx.xxx/CombinedFunds.svc")).SectorAllocationData; var data = query.Where(item => item.ID == "AGEF"); var re
class Program
{
static void Main(string[] args)
{
var query = new CombinedFundsEntities(new Uri("http://xxx.xxx.xxx.xxx/CombinedFunds.svc")).SectorAllocationData;
var data = query.Where(item => item.ID == "AGEF");
var result = data.ToList();
}
}
其思想是进行筛选并返回where子句中条件为true的所有项,然后使用结果
问题是,我(在调试器中)看到了更多,并且我认为那里的项与我预期的不同。当我在浏览器中查看项目时,我看到的项目与C#objects中的水合项目不同
我的问题是:
- 这是虫子还是我在做傻事
- 是什么触发了这一切?(我在其他实体上没有此类问题)
return
语句和方法定义及其属性。您还可以尝试转储请求/响应,以了解它与通过浏览器请求相同内容时得到的不同之处。例如,Fiddler在这方面做得很好,我连接了Fiddler并查看了响应,结果与我手动HTTP查询URL时得到的结果完全相同。据我所知,WCF客户端接收到正确的信息,但从中生成错误的对象(在本例中),您能否更详细地描述在fiddler中看到的结果与在C#中具体化的结果之间的区别?如果您像上面那样作为一个独立的示例运行代码,那么它应该可以工作。如果上面的示例不具有代表性,那么您可能需要查看DataServiceContext.MergeOption。因此,这段代码准确地再现了问题,并且很难准确地描述差异:返回的记录数量不同,项目本身似乎是从不同XML记录的部分水合而来的。真奇怪。