gpt4 book ai didi

c# - 如何从 FromSql 获取计数?

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

我有

dbContext.Items.FromSql("SELECT COUNT(*) 
FROM Items
WHERE JSON_VALUE(Column, '$.json') = 'abc'")

这将返回一个 IQueryable,我想知道如何返回一个标量 int

最佳答案

截至 EF Core 3.1,2020

var count = dbContext.Set.FromSqlRaw(/* {raw SQL} */).Count();  

会生成如下SQL

SELECT COUNT(*)::INT
FROM (
-- {raw SQL}
) AS c

其中 {raw SQL} 的形式为

select count(*) from my_table where my_col_condition = true group by my_col_id

计数工作可以通过这种方式在数据库端完美完成,无需在客户端加载表行。
注意不要以 ; 结束 {raw SQL}

关于c# - 如何从 FromSql 获取计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53179334/

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