C# Linq到SQL分页查询的Limit语句

C# Linq到SQL分页查询的Limit语句,c#,sql,asp.net,linq,linq-to-sql,C#,Sql,Asp.net,Linq,Linq To Sql,是否有可能在Linq SQL(ASP.NET)中执行此SQL语句 不使用其他解决方案,如Loop,For 谢谢你的回复 var usersList = (from users in db.Users select users).Skip(23).Take(100); 其中db是数据上下文 应该得到你想要的答案 您可能需要使用一个orderby子句,因为不能保证每次返回的记录都是相同的顺序。对于示例,方法是和: var result = (from c in S

是否有可能在Linq SQL(ASP.NET)中执行此SQL语句

不使用其他解决方案,如Loop,For

谢谢你的回复

var usersList = (from users in db.Users
                 select users).Skip(23).Take(100);
其中
db
是数据上下文

应该得到你想要的答案

您可能需要使用一个
orderby
子句,因为不能保证每次返回的记录都是相同的顺序。

对于示例,方法是和:

var result = (from c in Source
             select c).Skip(23).Take(100).ToList();
public IEnumerable<Customer> GetCustomers(int pageSize, int pageNumber)
{
    var query = from c in customers
                select c;

    return query.Skip(pageSize * pageNumber)
                .Take(pageSize)
                .ToList();
}
作为分页数据的良好实践,您可以有一些参数,例如:

var result = (from c in Source
             select c).Skip(23).Take(100).ToList();
public IEnumerable<Customer> GetCustomers(int pageSize, int pageNumber)
{
    var query = from c in customers
                select c;

    return query.Skip(pageSize * pageNumber)
                .Take(pageSize)
                .ToList();
}
public IEnumerable GetCustomers(int pageSize,int pageNumber)
{
var查询=来自客户中的c
选择c;
返回查询.跳过(页面大小*页码)
.Take(页面大小)
.ToList();
}

限制23100
并不意味着接受23100项。@DavidG抱歉,误读了问题-正如您评论的那样修复了,现在也修复大写字母P:)@AHmédNet这应该跳过前23行,然后返回以下100行。您可能需要添加orderby子句,当然可以简化为
db.Users.Skip(23)、Take(100)你不应该跳过23然后拿100吗?是的,我想跳过23然后拿100