私はLinqとEntityの間に新しいことがあり、何か問題があります。Linqで数学的な計算を行う
ここに私の検索リポジトリがあります:
public static List<Centre> Search(Search search)
{
using (var context = new MeetingRoomsContext())
{
var query = context.Centres
.Include("Geo")
.OrderBy(NEED HELP WITH THIS PART)
return query.ToList();
}
}
私はこのような座標を含む検索対象取得しています:私はそれを破ると共同に対するいくつかの数学を行う必要があり
Search.LongLat = "(-6.265275, 53.334442)"
を最初に検索されたポイントに最も近い結果を並べるために、DBの中の座標。
数学的な用語では、それは次のようになりピタゴラス:
squareRootOf((difference in latitude * difference in latitude) +
(difference in longitude * difference in longitude))
は本当にこれを行うにはどのような手掛かりいません。任意のヘルプを大いに感謝します
Sql Server 2008には、このようなシナリオで役立つように構築された空間インデックス機能がありますが、EFでサポートされているとは思われません。 –