私は現在asp.netmvc3を勉強していて、複数のサイトのコースビデオを無駄にしているのですが、特定のコードに興味があります。
ここにあります:
public ActionResult Index(string state)
{
//var restaurants = context.Restaurants.ToList();
var restaurants = from r in context.Restaurants
where r.Address.State == state || (state == null)
select r;
return View(restaurants);
}
明らかに、stateパラメーターはクエリのフィルター処理に使用されるため、state = CAの場合、状態値がCAの行のみが取得されます。取得できない部分は、||を追加する理由です。state == nullを使用すると、クエリですべての行を取得できます。
上記のコードと非常によく似た別のコードを次に示します。
var students = from s in studentRepository.GetStudents()
select s;
if (!String.IsNullOrEmpty(searchString))
{
students = students.Where(s => s.LastName.ToUpper().Contains(searchString.ToUpper())
|| s.FirstMidName.ToUpper().Contains(searchString.ToUpper()));
}
これでは、パラメータが空かnullかをチェックし、where句を追加して別のクエリを設定します。
したがって、その状態を追加すると実際に何が起こっているのか== null
サー/マーム、あなたの答えは大いに役立つでしょう。ありがとう++