我目前正在学习asp.net mvc 3,并且正在观看复数视线的课程视频,并且对某个代码感到好奇:
这里是:
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,那么只会检索 state 值为 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 子句来设置不同的查询。
那么当我添加那个 state == null 时实际发生了什么
先生/女士,您的回答会很有帮助。谢谢++