【问题标题】:EF Core: fetch two SELECT statements in a single call by FromSql()EF Core:在 FromSql() 的一次调用中获取两个 SELECT 语句
【发布时间】:2020-07-28 20:09:17
【问题描述】:

我有以下 SP,其中获取了行数和总行数。如何调用 SP 并获取其内容(2 个 SELECT)?

-- A very simple SP
CREATE PROCEDURE dbo.Sample
AS 
BEGIN

SELECT TOP 10 c.Id, s.CreationDate, s.FirstName, s.LastName
FROM Some_Table s
ORDER BY s.CreationDate

SELECT COUNT(*) 
FROM Some_Table s as TotalRecord    

END

我知道可以使用 Dapper 或其他 ORM,但我将使用 EF Core 2.2

【问题讨论】:

  • 您所说的是多个结果,我认为目前不支持(尽管我不确定在您的情况下,第二个结果是标量是否可以简化这一点):@987654321 @

标签: sql-server entity-framework-core ef-core-2.2


【解决方案1】:

这是我在这种情况下会做的事情

-- 一个很简单的SP 创建过程 dbo.Sample 作为 开始 声明@TotalCount int 选择 @TotalCount = COUNT(*) FROM Some_Table s 作为 TotalRecord

选择前 10 个 @TotalCount 作为 TotalCount、c.Id、s.CreationDate、s.FirstName、s.LastName FROM Some_Table s ORDER BY s.CreationDate

结束

【讨论】:

  • 如何让 EF 核心检索两个结果?
  • 现在只有一个结果,只需访问 TotalCount。您可以将总计数添加到返回的模型中。这有意义吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-26
  • 1970-01-01
相关资源
最近更新 更多