0

我试图让企业在用户的一定英里范围内,使用公式来获得企业的纬度/经度与用户的纬度/经度之间的距离。这是代码:

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 方法需要第一个参数的属性名称,所以我不能在其中放置公式。我该怎么做这样的事情?

谢谢!贾斯汀

4

1 回答 1

0

尝试使用Expression.Sql. 几个例子:

于 2010-07-05T20:15:08.400 回答