Question

Je suis en train d'obtenir des entreprises dans un certain nombre de miles d'un utilisateur, en utilisant une formule pour obtenir la distance entre le lat / long de l'entreprise et le lat / long de l'utilisateur. Voici le code:

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

Le problème est que la méthode Restrictions.Le de ActiveRecord / NHibernate attend un nom de propriété pour le premier paramètre, donc je ne peux pas mettre une formule là-dedans. Comment pourrais-je faire quelque chose comme ça?

Merci! Justin

Était-ce utile?

La solution

Essayez d'utiliser Expression.Sql. Quelques exemples:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top