是否可以通过Web API进行OData的空间查询

时间:2014-01-10 16:01:42

标签: asp.net-web-api odata entity-framework-6

我试图允许对我的Entity Framework的实体(OData)进行查询。 我的一些实体属于DBGeography,我想对它们进行查询。 我在这些问题上失败了:

  

api / towns?$ filter = geo.distance(Location,Point(0.0 0.0))lt 100

  预期在'geo.distance(位置,点(0.0 0.0))中的位置28处的

“')'或','为'100'。”

1 个答案:

答案 0 :(得分: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的讨论,但没有答案。