我需要将此 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”类型。