MonoRail ActiveRecord / NHibernate расчет в предложении, где - PullRequest
0 голосов
/ 05 июля 2010

Я пытаюсь получить предприятия в пределах определенного количества миль от пользователя, используя формулу, чтобы получить расстояние между широтой / длиной бизнеса и широтой / длиной пользователя.Вот код:

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));

Проблема заключается в том, что метод Restrictions.Le ActiveRecord / NHibernate ожидает имя свойства для первого параметра, поэтому я не могу поместить формулу туда.Как бы я сделал что-то подобное?

Спасибо!Justin

1 Ответ

0 голосов
/ 06 июля 2010

Попробуйте использовать Expression.Sql.Несколько примеров:

...