LINQ to Entities 中仅支持无参数构造函数和初始值设定项.地理坐标(纬度、经度);.
本文关键字:坐标 纬度 经度 支持 Entities to 参数 构造函数 LINQ | 更新日期: 2023-09-27 18:36:33
我有这种情况:我需要使用纬度和经度找到附近的位置。使用这个:
var coord = new GeoCoordinate(latitude, longitude);
var nearest = context.ParkingSpaces.Select(x => new GeoCoordinate(x.Latitude.Value, x.Longitude.Value))
.OrderBy(x => x.GetDistanceTo(coord)).First();
但是我收到以下错误:
LINQ to 实体中仅支持无参数构造函数和初始值设定项
请帮忙
你可以重写成这样的东西:
var coord = new GeoCoordinate(latitude, longitude);
var nearest = context.ParkingSpaces
.Select(x => new { Latitude = x.Latitude.Value, Longitude = x.Longitude.Value })
.ToList()
.Select(x => new GeoCoordinate(Latitude, Longitude))
.OrderBy(x => x.GetDistanceTo(coord))
.First();