我有数据库,其中有带有 GPS 坐标的一流酒店。我想获得距离我选择的坐标最近的地方。
我认为它应该看起来像这样(我在这里找到了很多示例代码,就像这样):
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);
问题是当我尝试搜索某些内容时出现此错误:
LINQ 仅支持无参数构造函数和初始值设定项
至实体
我尝试用谷歌搜索它,发现将 linq 分成两部分可以帮助我,但我不知道如何。感谢帮助。
您可以使用对象初始值设定项而不是参数化构造函数:
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);
但是您可能会遇到由 GetDistanceTo 方法引起的问题,您能提供该方法的实现吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)