Wie kann in SQL Server gespeicherte Geografiedaten mit Entity Framework Core verarbeitet werden, wenn der geographische Datentyp noch nicht unterstützt wird und gespeicherte Prozeduren ebenfalls unterstützt werden?
So habe ich es gemacht. Offensichtlich erhalten Sie nicht die Funktionen des DbGeography-Typs, aber für einfache Abfragen sollte es ausreichen.
public async Task<List<PointOfInterest>> Execute(double latitude, double longitude, int radius)
{
return await this.context.PointsOfInterest.FromSql(
"DECLARE @point geography = geography::Point(@p0, @p1, 4326); " +
"SELECT Id, DateAdded, Latitude, Longitude " +
"FROM dbo.PointsOfInterest " +
"WHERE @point.STDistance(Location) <= @p2",
longitude,
latitude,
radius).ToListAsync();
}