我有一个可以按我想要的方式工作的 OData URI,传递一个名为 gridsize 的参数的值并从结果中检索数据。这是 URI,它工作正常:
http://<webservice>/MULTI_POINT_PARAMParameters(gridsize=0.1m)/Results
我正在尝试使用 LINQ 使上述 URI 工作。我正在使用 MVC 服务引用来生成代理类。所以我尝试了这个 LINQ:
var query = (from x in context.MULTI_POINT_PARAMParameters
where
x.gridsize == 0.1M
select x);
然而,上面的 LINQ 生成了这个 URI,它没有说“segment not found”:
http://<webservice>/MULTI_POINT_PARAMParameters()?$filter=gridsize eq 0.1M}
我真正想要 LINQ 生成的是这个,我知道它有效:
http://<webservice>/MULTI_POINT_PARAMParameters(gridsize=0.1m)/Results
如何让 LINQ 生成我想要的 URI?我查看了Linq2rest,但如果我想自己显式地编码 LINQ 术语,而不是让 Linq2rest 生成我看不到的“隐藏”术语,我看不出它对我有什么帮助。