asp.netアプリケーションで検索機能を構築しており、LINQ to SQLを使用して、選択した検索条件に基づいてデータを取得しています。検索基準は
- 国
- 街
- 区域
- 室数
- 家賃サイクル
最初の検索基準であるCountryのみが必須フィールドです。ただし、ユーザーが基準2、3、4、および/または5の値を入力した場合は、入力された値が考慮され、入力されたすべての検索基準に一致する結果のみが取得されます。基準2、3、4、および/または5のいずれかが空(null)のままである場合、LINQは「DONTCARE」として機能し、その行を返す必要があることに注意してください。
したがって、たとえば、入力された基準が次の場合:
- 国=米国
- City = null
- 地区=null
- 部屋の数=null
- 賃貸サイクル=null
次に、Country==USAのすべての行が返されます。
もう一つの例:
- 国=英国
- City = null
- 地区=null
- 部屋の数=5
- 賃貸サイクル=null
次に、Country==UKおよびNumberOfRooms==5のすべての行が返されます。
LINQ to SQLでこれを実現するにはどうすればよいですか?
これが私がこれまでに持っているものです:
var data = from x in db.Units where x.Country == coutnryID && /*PLEASE HELP!*/ select x;