在这里,我写了一个简单的Linq查询获取跳过并从服务器中获取记录指导我在我的ReturnType中提到的
int pager = Convert.ToInt32(pagenumber);
int totalRecDisplay = 10;
var TotlaRecords = (from n in db.Employee
orderby n.Emp_Id
select n);
var pagination = from e in TotlaRecords.Skip((pager - 1) * 10).Take(totalRecDisplay)
select new SomeClass
{
countRec = TotlaRecords.Count(),
Entity = e
};
return pagination;
}
SomeOtherClass
public class SomeClass
{
public int countRec { get; set; }
public Employee Entity { get; set; }
}
答案 0 :(得分:1)
目前,您正在返回IQueryable<SomeClass>
。
你可能不想要那样。 (但你可能 - 这取决于你在调用程序中用它做什么,但我们假设你没有)。
你最好还是退回一份清单。
public List<SomeClass> GetPage(string pagenumber)
{
int pager = Convert.ToInt32(pagenumber);
int totalRecDisplay = 10;
var TotlaRecords = (from n in db.Employee
orderby n.Emp_Id
select n);
var count = TotlaRecords.Count()
var pagination = from e in TotlaRecords
.Skip((pager - 1) * totalRecDisplay)
.Take(totalRecDisplay)
select new SomeClass
{
countRec = count,
Entity = e
};
return pagination.ToList();
}
注意:我更换了一个硬编码的&#34; 10&#34;,并将记录计数到仅执行一次的位置。