如何返回Linq表达式作为一个列表
本文关键字:一个 列表 Linq 何返回 返回 表达式 | 更新日期: 2023-09-27 18:11:58
如何将下面的代码返回到List
public List<tbl_Employee> getProgramNames()
{
IQueryable<tbl_CentralLookup> data = db.tbl_Employee.Where(c => c.EmpName == "sam").Select(o => new { o.LookupId, o.EmpName });
return data;
}
你的方法的返回类型是List of tbl_Employee
。因此,请确保您的LINQ表达式也返回相同类型的数据。
public List<tbl_Employee> getProgramNames()
{
return db.tbl_Employee.Where(c => c.EmpName == "sam").ToList();
}
假设db.tbl_Employee
为DbSet<tbl_Employee>
型
我还建议您遵循c#方法的pascal套管。所以我将getProgramNames
重命名为GetProgramNames
:)
EDIT: 根据评论中的问题
如何指定列名。我只想检索两个的数据列。
如果您只想要2列,请为该数据结构创建一个DTO,并使用它在LINQ表达式中投影数据。
public class EmployeeBasicInfo
{
public int Id { set;get;}
public string FirstName { set;get;}
}
现在更改您的方法以返回该DTO的集合而不是实体。
public List<EmployeeBasicInfo> getProgramNames()
{
return db.tbl_Employee.Where(c => c.EmpName == "sam")
.Select(x=> new EmployeeBasicInfo { Id=x.Id, FirstName = x.EmpName })
.ToList();
}
假设你的tbl_Employee
实体类有一个类型为Int
的Id
属性