レストランというテーブルを持つSQL2005データベースがあるとしましょう。レストランテーブルには次の列があります。
- RestaurantId
- 名前
- 緯度
- 経度
ユーザーが名前や住所でレストランを検索できるようにしたい。これをサポートするLINQクエリを作成するにはどうすればよいですか?ユーザーが名前や住所を入力しない、名前だけ、住所だけ、または名前と住所の両方を入力しない可能性をサポートできる必要があります。
私の最初のアイデアは、2つの緯度/経度のペア間の距離を計算するストアドプロシージャと、FREETEXTTABLEを呼び出し、クエリで条件付きの結合呼び出しを使用するためのテーブル値関数を作成することでした。ただし、EntityFramework4はテーブル値関数をサポートしていないようです。