[英]How to use where clause with different data in one column in entity framework?
public ActionResult Index()
{
var results = db.Employee
.Where(d => d.JOBID == "Tester"
&& d.JOBID == "Developer"
&& d.Salary =="2000")
.ToList();
return View(results);
}
如果您想应用从同一列中选择两个值,您最好使用OR运算符,这将列出他们的薪水正好为 2000 的测试人员或开发人员
public ActionResult Index()
{
var results = db.Employee
.Where(d =>
(d.JOBID == "Tester" || d.JOBID == "Developer") &&
d.Salary =="2000")
.ToList();
return View(results);
}
如果要基于多个值从一列中对 select 使用 Where 子句,请先将要查找的值放入列表中:
var jobIdList = new List<string>();
jobIdList.Add("Tester");
jobIdList.Add("Developer");
现在您可以使用Contains
子句查询在该列表中有值的任何结果。
var results = db.Employee
.Where(d => (jobIdList.Contains(d.JOBID)
&& d.Salary =="2000"))
.ToList();
这样,您的查询始终以相同的方式工作,但您可以通过更改jobIdList
中的值来更改获得的结果。 想要包括经理? jobIdList.Add("Manager");
,然后再次运行您的查询。 现在您想删除开发人员并只取回测试人员和经理? jobIdList.Remove("Developer")
,然后运行您的查询并获得新结果。 这使您的查询方法更加灵活。 现在,您可以取回 JOBID 在列表中且薪水 = 2000 的任何员工。(您可能会查看该薪水值,硬编码可能并不理想。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.