我尝试用efcore和linq请求我的db,但我有错误:无法调用varbinary上的方法。
我搞不清楚。
代码是:
places
.Where(p => p.Place.Location != null && p.Place.Location.Distance(currentLocation)<=input.Radius)
.OrderBy(p => currentLocation.Distance(p.Place.Location));CurrentLocation是:
currentLocation = new NetTopologySuite.Geometries.Point(input.Place.Latitude, input.Place.Longitude)
{
SRID = 4326
};如果我这样做,它会起作用。这似乎是not工作的顺序。
places = places.Where(p => p.Place.Location != null && p.Place.Location.Distance(currentLocation) <= input.Radius);
// .OrderBy(p => currentLocation.Distance(p.Place.Location));input.radius是一个整数。
你能帮帮pleasE吗?
谢谢,
发布于 2020-03-23 22:10:09
好的,我修复了我的问题,通过在orderby中颠倒调用
下面的代码适用于任何有此问题的人
places = places.Where(p => p.Place.Location != null && p.Place.Location.Distance(currentLocation) <= input.Radius)
.OrderBy(p => p.Place.Location.Distance(currentLocation));https://stackoverflow.com/questions/60814689
复制相似问题