Dans Linq to NHibernate, j'essaie de renvoyer les entreprises situées à une certaine distance d'un utilisateur. Voici ce que j'ai jusqu'à présent :
var query = from b in ActiveRecordLinq.AsQueryable<Business>()
where (3959 * Math.Acos(Math.Cos((Math.PI * coordinates.Latitude / 180)) * Math.Cos((Math.PI * b.Latitude / 180))
* Math.Cos((Math.PI * b.Longitude / 180) - (Math.PI * coordinates.Longitude / 180))
+ Math.Sin((Math.PI * coordinates.Latitude / 180)) * Math.Sin((Math.PI * b.Latitude / 180)))) <= radiusInMiles
orderby b.Name ascending
select b;
return query.ToList();
Malheureusement, il semble que la classe mathématique C# ne soit pas prise en charge par Linq to NHibernate, ce qui donne lieu à l'erreur suivante :
La méthode Cos n'est pas mise en œuvre
Comment pourrais-je contourner ce problème ?
Merci ! Justin