Любой мог бы сказать, почему этот код работает правильно:Linq, где положение не фильтрует
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);
}
}
И в тот момент я добавляю .где (х => x.Gender == «мужчина»); он ничего не бросает на экран?
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);
}
}
Потому что у вас нет сотрудников-мужчин .... –
Является ли «Пол» строкой? Вы рассматривали «служащий» перед фильтрацией, чтобы убедиться, что у кого-то действительно есть это значение? –
@JustinPihony Только не в ИТ или HR. :) –