Mam bazę danych, aw niej mam hotel klasy ze współrzędnymi GPS. Chcę znaleźć najbliższe miejsca dla współrzędnych, które wybiorę.C# - LINQ - najkrótsza odległość według szerokości i długości geograficznej GPS
myślę, że powinno to wyglądać tak (Znalazłem wiele przykładowych kodów tutaj i jak ten):
var coord = new GeoCoordinate(latitude, longitude);
var nearest = (from h in db.hotels
let geo = new GeoCoordinate(h.gps.lat, h.gps.lng)
orderby geo.GetDistanceTo(coord)
select h).Take(10);
Problem polega na tym, że mam ten błąd, gdy starałem się szukać czegoś:
tylko konstruktorzy bez parametrów i inicjalizatory są obsługiwane w LINQ do podmiotów
próbowałem go to google d Zauważyłem, że podzielenie tego linq na dwoje może mi pomóc, ale nie jestem pewien jak. Dzięki za pomoc.
Haversine Distance który jest aktualnie próbuje zrobić arytmetykę * w bazie danych *. Podejrzewam, że to nie zadziała bez ciężkiej pracy. Prawdopodobnie chcesz przechowywać proc lub UDF. –