2010-07-05 90 views
0

我試圖讓一個用戶在一定的英里數內的企業,使用一個公式來獲得業務的拉特/長和緯度/緯度之間的距離用戶。下面是代碼:MonoRail ActiveRecord/NHibernate計算在哪裏條款

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方法需要第一個參數屬性名,所以我不能把一個公式在那裏。我會如何做這樣的事情?

謝謝! Justin

回答