使用 Linq Skip Take 进行传统 SQL 查询,而不是使用 RowNum
Posted
技术标签:
【中文标题】使用 Linq Skip Take 进行传统 SQL 查询,而不是使用 RowNum【英文标题】:using Linq Skip Take for Traditional SQL Query rather using RowNum 【发布时间】:2013-07-02 12:19:22 【问题描述】:我有一个字符串中的 SQL 查询,并且正在使用使用 DataAdapter 的传统方式执行。
我正在尝试将分页添加到现有逻辑。我如何将Skip take
添加到 SQL 字符串中。
我知道对 LINQ 查询使用 Skip 和其他 linq 方法。但是是否可以用于字符串格式的 SQL 查询。
如果是,我如何在不向查询中添加 RowNum 的情况下执行此操作,而不是使用跳过并采取。
Eg :
String sqlQuery = Select * from tablename ;
SqlDataAdapter com = new SqlDataAdapter(sqlQuery, Connection);
我如何在这个 SQL 查询中使用 Linq 方法进行分页而不是使用 ROWNUM
*我不确定我是否重复了这个问题,但我无法识别关键字
谢谢
【问题讨论】:
是mysql还是t-sql? ***.com/questions/1744802/… 【参考方案1】:我如何在这个 SQL 查询上使用 Linq 方法进行分页而不是 ROWNUM
你不能。您正在发出直接 SQL - 此处不涉及 LINQ。 LINQ 会将用 C# 编写的查询转换为 SQL,但您无法开始将 LINQ 位添加到现有 SQL 查询中。您应该决定是实际上要编写 SQL,还是要使用 LINQ。然后一次只做一个。
(当然,您可以在同一个项目中同时使用这两者 - 但对于单个查询,您不能混合和匹配。)
【讨论】:
感谢@jon 动态形成 SQL 查询,所以我会使用 ROWNUM。任何使用 rownum 实现的最佳方法都可以重定向到! @user2067567:听起来你应该问一个不同的问题——那时你实际上只是在问 SQL,与 C# 或 LINQ 无关。 同意@jon!看看我能不能找到任何:)谢谢+1解决方案以上是关于使用 Linq Skip Take 进行传统 SQL 查询,而不是使用 RowNum的主要内容,如果未能解决你的问题,请参考以下文章