Domanda

Sto cercando di ottenere le imprese entro un certo numero di miglia di un utente, utilizzando una formula per ottenere la distanza tra la latitudine / longitudine del business e la latitudine / longitudine dell'utente. Ecco il codice:

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

Il problema è che il metodo Restrictions.Le di ActiveRecord / NHibernate si aspetta un nome di proprietà per il primo parametro, quindi non posso mettere una formula in là. Come potrei fare qualcosa di simile?

Grazie! Justin

È stato utile?

Soluzione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top