Veritabanım var ve içinde gps koordinatlarına sahip bir sınıf otel var. Seçtiğim koordinatlara en yakın yer almak istiyorum. Ben bu gibi görünmelidir düşünüyorumC# - LINQ - GPS enlemesine ve boylamına göre en kısa mesafe
(Burada birçok örnek kodları buldum ve bunun gibi):
: Ben bir şey aramak çalıştığımızdavar 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);
sorun bu hatayı olması
Sadece parametresiz kurucular ve ilklendiriciler
bunu bir google çalıştı LıNQ varlıkları desteklenir d Ben bu linq'u ikiye bölmenin bana yardımcı olabileceğini buldum ama nasıl emin değilim. Yardım için teşekkürler. O yöntemin uygulanmasını sağlayabilir,
var nearest = (from h in db.hotels
let geo = new GeoCoordinate{ Latitude = h.gps.lat, Longitude = h.gps.lng}
orderby geo.GetDistanceTo(coord)
select h).Take(10);
Ama büyük olasılıkla GetDistanceTo yöntemiyle kaynaklanan sorunları olacaktır:
* Bu uygulama kullanarak başarı hakkında makul oldu. Çok fazla iş olmadan işe yaramayacağından şüpheleniyorum. Muhtemelen depolanmış bir proc veya bir UDF istersiniz. –