【发布时间】:2015-04-06 06:40:39
【问题描述】:
我有
IEnumerable<Employee> GetAllEmployees()
{
return Get<IEmployeeRepository>().GetAll();
}
IEmployeeRepository 在哪里
public interface IEmployeeRepository
{
IEnumerable<Employee> GetAll();
}
Employee.cs如下
public class Employee
{
public int EmployeeId { get; set; }
public string EmployeeName { get; set; }
public int Age { get; set; }
public int Salary { get; set; }
}
现在我想根据传递的 EmployeeId 对从 GetAllEmployees() 获得的记录执行搜索。如下所示
public void SearchEmployee(int empId)
{
var empRecords = this.GetAllEmployees();
var filteredRecords = empRecords.
}
我实际上查看了this 的答案,但无法满足要求。 我需要做什么?
【问题讨论】:
-
可能是您缺少顶部
using System.Linq的命名空间声明。还要记住IEnumerable不支持不同的执行,例如IQuerable -
如果将
var empRecords = this.GetAllEmployees();更改为IEnumerable<Employee> empRecords = this.GetAllEmployees();会怎样? -
@Jenish Rabadiya,非常棒。我刚刚在我的命名空间中看到了它。
-
@JenishRabadiya IEnumerable 不支持像 IQuerable 那样的不同执行 是什么意思。
IEnumerable支持延迟执行。事实上Enumerable.Where、Select等都是懒惰的。
标签: c#