gpt4 book ai didi

c# - Entity Framework 代码优先执行标量值函数

转载 作者:可可西里 更新时间:2023-11-01 08:01:20 25 4
gpt4 key购买 nike

如何先使用代码执行标量函数?下面是我尝试过的,但只返回查询本身,而不是返回值。

using (var dbContext = new FTTRContext())
{

queryResult =
dbContext.Database.SqlQuery<string>("SELECT [dbo].[ufnGetTotalUsers] (GETDATE())").ToString();
}

最佳答案

SqlQuery返回 DbRawSqlQuery 的实例.此类是可枚举的,它希望您通过标准 LINQ 运算符或通过 foreach 来枚举它。等.ToString()在此对象上仅返回将被执行 的查询。要获得所需的结果,请使用 .Single().SingleAsync() .

queryResult = dbContext.Database
.SqlQuery<string>("SELECT [dbo].[ufnGetTotalUsers] (GETDATE())")
.Single();

这应该返回您要查找的标量字符串结果。

话虽如此,您的查询看起来像是无效的 SQL。您只是想从 SQL Server 获取日期吗?如果是这样,查询可能应该是 SELECT GETDATE() .执行此操作后,您可能必须使用 .SqlQuery<DateTime>()因为该值的类型不是字符串。

关于c# - Entity Framework 代码优先执行标量值函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24005901/

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