我正在努力让企业在一定数量的用户范围内,使用公式来获得业务的纬度/经度和用户的纬度/经度之间的距离。这是代码:
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方法需要第一个参数的属性名称,所以我不能在那里放置公式。我该怎么办呢?
谢谢! 贾斯汀
答案 0 :(得分:0)
尝试使用Expression.Sql
。几个例子: