是否可以通过 Web API 进行 OData 的空间查询
Posted
技术标签:
【中文标题】是否可以通过 Web API 进行 OData 的空间查询【英文标题】:Is it possible to make OData's spatial queries over Web API 【发布时间】:2014-01-29 16:37:51 【问题描述】:我正在尝试允许对我的 Entity Framework 的实体 (OData) 进行查询。 我的一些实体属于 DBGeography,我想对它们进行查询。 我在这样的查询上失败了:
api/towns?$filter=geo.distance(Location,Point (0.0 0.0)) lt 100
与
“')' 或 ',' 预计在 'geo.distance(Location,Point (0.0 0.0)) lt 100' 中的位置 28。”
【问题讨论】:
你搞清楚了吗?! 【参考方案1】:根据 ODATA.org (link) (link) 应该是
http://domain.com/api/controller?
$filter=geo.distance(Location, geography'Point(-71.798 45.144)') lt 10000
但是 web api 会抛出这个异常:
"Message": "An error has occurred.",
"ExceptionMessage": "Unknown function 'geo.distance'.",
"ExceptionType": "System.NotImplementedException",
我猜目前不支持,希望很快就会支持。 ASP.NET's Codeplex 上有关于它的讨论,但没有答案。
【讨论】:
哦,现在都在一个地方!我现在已经放弃了 ODATA。我希望微软能尽快完成这项工作!以上是关于是否可以通过 Web API 进行 OData 的空间查询的主要内容,如果未能解决你的问题,请参考以下文章
针对 .Net Odata Web Api 使用 Excel Power Query 进行身份验证
[转]Web Api系列教程第2季(OData篇)——使用Web Api创建只读的OData服务
从表中仅选择几列以使用 C# Web API 上的 Odata Select 查询进行映射
Asp.Net Web API 2第十八课——Working with Entity Relations in OData