我在IQueryable <employee>中提到的返回类型

时间:2017-10-03 09:13:37

标签: c# linq

请帮我提一下我提到的返回类型<返回值

public IQueryable<Employee> GetEmployee(int id)
{
    var x = (from n in db.Employee
             where n.Emp_Id==id
             select n).FirstOrDefault();
    return;
} 

2 个答案:

答案 0 :(得分:2)

如果你想要的只是返回一个.nopadding { padding: 0; } ,那么将返回类型从Employee更改为IQueryable<Employee>Employee表示IQueryable<Employee> s的集合,而Employee表示返回一个项目:

FirstOrDefault()

在这种情况下,IMO会更好地使用Method语法:

public Employee GetEmployee(int id)
{
    return (from n in db.Employee
             where n.Emp_Id==id
             select n).FirstOrDefault();
} 

答案 1 :(得分:2)

调用FirstOrDefault()或实际获得结果的任何其他方法意味着返回类型应为Employee

看一下,我IQueryable<>

var x = Employee.Where(...)

且类型为Employee

var x = Employee.Where(...).First()

var x = Employee.Where(...).Single()

为了帮助您记住,您可以将IQueryable对象视为尚未调用的对象。