[英]Linq where clause not filtering
任何人都可以知道為什么此代碼可以正常運行:
EmployeeContextDataContext empContext = new EmployeeContextDataContext();
var departaments = empContext.Departments.Where(x => x.Name == "IT" || x.Name=="HR");
foreach (Department dept in departaments)
{
Response.Write(dept.Name);
var empInDept = dept.Employees;
foreach (var employee in empInDept)
{
Response.Write(employee.FirstName + employee.Gender);
}
}
然后我添加.Where(x => x.Gender ==“ Male”); 它沒有在屏幕上扔東西嗎?
foreach (Department dept in departaments)
{
Response.Write(dept.Name);
var empInDept = dept.Employees.Where(x => x.Gender =="Male");
foreach (var employee in empInDept)
{
Response.Write(employee.FirstName);
}
}
您確定您有IT或HR方面的男性員工嗎?
如果這樣做,您確定“性別”列中的M大寫嗎?
嘗試刪除區分大小寫的方法:
var empInDept = dept.Employees.Where(x => x.Gender.ToLower().Trim() == "male");
您可以在x.Gender =="Male"
表達式內放置一個斷點來逐步執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.