簡體   English   中英

Linq where子句未過濾

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM