我的数据库中有一个包含地理位置的表。我想编写一个函数来查找最接近某个点的位置。我在 NHibernate 中试过这个:
public Location GetClosestLocation(double latitude, double longitude)
{
var closest = Session.QueryOver<Location>()
.OrderBy(location =>
(location.Latitude - latitude) +
(location.Longitude - longitude))
.Asc.SingleOrDefault();
return closest;
}
但它不起作用 - 我收到运行时错误。
我该怎么做才能返回最近的位置?是否可以通过 NHibernate 的简单函数的结果进行排序?