Насколько я понимаю, важно, какой SRID (система пространственной привязки) используется при вставке геокоординат. Эта документация несколько полезна: https://docs.microsoft.com/en-us/ef/core/modeling/spatial
Я использую этот код для SRID 4326:
public static Point CreatePoint(double latitude, double longitude)
{
// 4326 is most common coordinate system used by GPS/Maps
var geometryFactory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326);
// see https://docs.microsoft.com/en-us/ef/core/modeling/spatial
// Longitude and Latitude
var newLocation = geometryFactory.CreatePoint(new Coordinate(longitude, latitude));
return newLocation;
}
Предполагая, что вы также создаете currentLocation в SRID 4326 :
var currentLocation = CreatePoint(...
Тогда
var meters = 500;
serviceQuery = serviceQuery
.Where(s => s.Location.Distance(currentLocation) < meters )
.OrderBy(s => s.Location.Distance(currentLocation));
должно работать