在where子句中计算MonoRail ActiveRecord / NHibernate

时间:2010-07-05 16:28:34

标签: nhibernate activerecord castle-monorail

我正在努力让企业在一定数量的用户范围内,使用公式来获得业务的纬度/经度和用户的纬度/经度之间的距离。这是代码:

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方法需要第一个参数的属性名称,所以我不能在那里放置公式。我该怎么办呢?

谢谢! 贾斯汀

1 个答案:

答案 0 :(得分:0)