Hom*_*mam 17 c# linq asp.net iqueryable
我在GridView中实现分页.从这篇文章中,我需要两种方法:
public IQueryable BindEmployees(int startRowIndex, int maximumRows)
{
EmployeeInfoDataContext dbEmp = new EmployeeInfoDataContext();
var query = from emp in dbEmp.Employees
join dept in dbEmp.Departments
on emp.DeptID equals dept.DeptID
select new
{
EmpID = emp.EmpID,
EmpName = emp.EmpName,
Age = emp.Age,
Address = emp.Address,
DeptName = dept.DepartmentName
};
return query.Skip(startRowIndex).Take(maximumRows);
}
Run Code Online (Sandbox Code Playgroud)
和
public int GetEmployeeCount()
{
// How can I not repeat the logic above to get the count?
}
Run Code Online (Sandbox Code Playgroud)
如何GetEmployeeCount从第一种方法获取第二种方法的值BindEmployees?我的意思是不重复逻辑(查询)?
Mar*_*ell 18
一种选择是:
public IQueryable BindEmployees(int startRowIndex, int maximumRows, out int count)
{
EmployeeInfoDataContext dbEmp = new EmployeeInfoDataContext();
var query = from emp in dbEmp.Employees
join dept in dbEmp.Departments
on emp.DeptID equals dept.DeptID
select new
{
EmpID = emp.EmpID,
EmpName = emp.EmpName,
Age = emp.Age,
Address = emp.Address,
DeptName = dept.DepartmentName
};
count = query.Count();
return query.Skip(startRowIndex).Take(maximumRows);
}
Run Code Online (Sandbox Code Playgroud)
另一种选择是将查询传递到分页功能.
| 归档时间: |
|
| 查看次数: |
35314 次 |
| 最近记录: |