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
感謝,可惜Restrictions.Sql不存在,也許這只是在舊版本? – Justin 2010-07-05 22:46:41
@Justin:對不起,它實際上叫Expression.Sql – 2010-07-06 00:11:27
工作,謝謝!現在我可以刪除令人討厭的動態SQL ... – Justin 2010-07-09 00:22:56