gpt4 book ai didi

c# - 限制原始 SQL 查询的结果

转载 作者:太空宇宙 更新时间:2023-11-03 22:50:02 25 4
gpt4 key购买 nike

我正在尝试使用 Entity Framework 限制原始 SQL 查询返回的结果。
问题在于该软件是在软件级别而不是数据库级别执行此操作的。

ctx.Database.SqlQuery<ViewModelQuery>(sql)
.Skip(totalPage * (page - 1))
.Take(totalPage)
.ToList();

如何通过发送到数据库的命令包含偏移量和提取的方式来解决这个问题?

最佳答案

这是解决它的唯一方法,更改sql 查询或提供Linq to Entities 查询。因为 Database.SqlQuery 已经开始以 IEnumerable 的形式返回记录。 (它已经由 SQL Server 获取)它的形式不是 IQueryable。因此,您有两种选择来执行它;

  1. 通过采用和跳过这样的形式来更改 Sql 查询;
SELECT c1,c2 from where table
OFFSET 10 ROWS -- skip 10 rows
FETCH NEXT 10 ROWS ONLY; -- take 10 rows
  1. 或者您应该将查询作为Linq to Entities 提供,以保持IQueryable 形式并执行Skip - Take .

关于c# - 限制原始 SQL 查询的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47819928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com