如何使用 EF 和列表过滤数据
How Do I filter data with EF and a List
我有一个列表,我想用它来过滤数据库中的数据。
我想计算数据库中匹配的行数。
但我一直遇到语法错误问题。
知道哪里出了问题吗?
List<EmployeeInfo> list = new List<EmployeeInfo>();
// EmployeeInfo(company, employeer, employeeId)
list.add(new EmployeeInfo(1, 2, 1))
list.add(new EmployeeInfo(1, 2, 2))
list.add(new EmployeeInfo(1, 2, 3))
list.add(new EmployeeInfo(1, 3, 1))
list.add(new EmployeeInfo(1, 3, 6))
list.add(new EmployeeInfo(1, 4, 2))
list.add(new EmployeeInfo(1, 5, 3))
// I want to count the number of rows that matches the criteria list. Example:
// But it is not working.
int count = Model.Points.Count(x => x.companyId = list[0].CompanyId &&
list.Contains(e => e.Employeer == x.employeeId && e.employeeId == x.employeeId);
您似乎在 x.companyId = 列表[0] 中缺少一个 =
你的计数语句应该是
int count = Model.Points.Count(x => x.companyId == list[0].CompanyId && list.Contains(e => e.Employeer == x.employeeId && e.employeeId == x.employeeId);
试试下面的代码。
List<EmployeeInfo> list = new List<EmployeeInfo>();
// EmployeeInfo(company, employeer, employeeId)
list.Add(new EmployeeInfo(1, 2, 1));
list.Add(new EmployeeInfo(1, 2, 2));
list.Add(new EmployeeInfo(1, 2, 3));
list.Add(new EmployeeInfo(1, 3, 1));
list.Add(new EmployeeInfo(1, 3, 6));
list.Add(new EmployeeInfo(1, 4, 2));
list.Add(new EmployeeInfo(1, 5, 3));
// I want to count the number of rows that matches the criteria list. Example:
// But it is not working.
int count = Model.Points.Count(x => x.companyId == list[0].CompanyId
&& list.Any(e => e.Employeer == x.employeeId && e.employeeId == x.employeeId));
我有一个列表,我想用它来过滤数据库中的数据。 我想计算数据库中匹配的行数。
但我一直遇到语法错误问题。
知道哪里出了问题吗?
List<EmployeeInfo> list = new List<EmployeeInfo>();
// EmployeeInfo(company, employeer, employeeId)
list.add(new EmployeeInfo(1, 2, 1))
list.add(new EmployeeInfo(1, 2, 2))
list.add(new EmployeeInfo(1, 2, 3))
list.add(new EmployeeInfo(1, 3, 1))
list.add(new EmployeeInfo(1, 3, 6))
list.add(new EmployeeInfo(1, 4, 2))
list.add(new EmployeeInfo(1, 5, 3))
// I want to count the number of rows that matches the criteria list. Example:
// But it is not working.
int count = Model.Points.Count(x => x.companyId = list[0].CompanyId &&
list.Contains(e => e.Employeer == x.employeeId && e.employeeId == x.employeeId);
您似乎在 x.companyId = 列表[0] 中缺少一个 = 你的计数语句应该是
int count = Model.Points.Count(x => x.companyId == list[0].CompanyId && list.Contains(e => e.Employeer == x.employeeId && e.employeeId == x.employeeId);
试试下面的代码。
List<EmployeeInfo> list = new List<EmployeeInfo>();
// EmployeeInfo(company, employeer, employeeId)
list.Add(new EmployeeInfo(1, 2, 1));
list.Add(new EmployeeInfo(1, 2, 2));
list.Add(new EmployeeInfo(1, 2, 3));
list.Add(new EmployeeInfo(1, 3, 1));
list.Add(new EmployeeInfo(1, 3, 6));
list.Add(new EmployeeInfo(1, 4, 2));
list.Add(new EmployeeInfo(1, 5, 3));
// I want to count the number of rows that matches the criteria list. Example:
// But it is not working.
int count = Model.Points.Count(x => x.companyId == list[0].CompanyId
&& list.Any(e => e.Employeer == x.employeeId && e.employeeId == x.employeeId));