我有这个 SQL 查询:
DECLARE @pageNo int=1
DECLARE @pageSize int=2
SELECT top 2 id,
Title,
Author,
NumberOfPages,
PublishedAt,
RowNumber
FROM
(
SELECT top 2 id, Title, Author,
NumberOfPages,PublishedAt,
Row_Number() over (order by id desc) as RowNumber
FROM Books
)T
WHERE
T.RowNumber BETWEEN ((@pageNo-1)*@pageSize)+1 AND (@pageNo*@pageSize)
我想在 ASP.NET 核心中使用 C# 执行这个 SQL 查询
我试过这个代码:
[HttpGet]
public async Task<ActionResult<IEnumerable<Books>>> GetBooks()
{
return await _context.Books.FromSqlRaw("Select * from Books where id = 2").ToListAsync();
}
但是此代码仅适用于像上一个示例一样的单个 Sql 查询行
Select * from Books where id = 2
但是当我尝试使用多行的复杂 SQL 查询时不起作用
我希望你的帮助
非常感谢