我试图让企业在用户的一定英里范围内,使用公式来获得企业的纬度/经度与用户的纬度/经度之间的距离。这是代码:
var criteria = DetachedCriteria.For<Core.Models.Business>(); criteria.Add(Restrictions.Le(String.Format(@"(3959*acos(cos(radians({0}))*cos(radians(Latitude))*cos(radians(Longitude)-radians({1}))
+sin(radians({0}))*sin(radians(Latitude))))", coordinates.Latitude, coordinates.Longitude), radiusInMiles));
问题是 ActiveRecord/NHibernate 的 Restrictions.Le 方法需要第一个参数的属性名称,所以我不能在其中放置公式。我该怎么做这样的事情?
谢谢!贾斯汀