この T-SQL コードを LINQ に変換する必要があります。
SELECT
id, name, Snippet, description, lat, lng,
(3959 * acos(cos(radians('1'))
* cos(radians(lat))
* cos(radians(lng)
- radians('1'))
+ sin(radians('1'))
* sin(radians(lat)))) AS distance
FROM
marker
WHERE
(3959 * acos(cos(radians('1'))
* cos(radians(lat))
* cos(radians(lng)
- radians('1'))
+ sin(radians('1'))
* sin(radians(lat)))) < 50
ORDER BY
distance;
Linqerにこれを実行させようとしましたが、正しく設定できないようです。
どんな助けでも素晴らしいでしょう!
アップデート
Dim markers() = (tmp_Table _
.Select(x => new{ _
x.Id, _
x.Name, _
x.Snippet, _
x.Description, _
x.Lat, _
x.Lng, _
Distance = (3959 * Math.acos(Math.cos(Math.PI) _
* Math.cos(x.Lat) _
* Math.cos(x.Lng) _
- Math.PI) _
+ Math.sin(Math.PI) _
* Math.sin(Math.PI))) _
}) _
.Where(x >= x.Distance < 50)
行のエラー:
new{ _
言います:
「With」のタイプが必要です。