实体框架6 context.Database.SqlQuery<

本文关键字:SqlQuery Database context 框架 实体 | 更新日期: 2023-09-27 18:03:40

这可能是一个超级容易解决的问题。

我需要对数据库进行一个原始SQL查询:

var blnOrders = (bool)db.Database.SqlQuery<bool>(@"SELECT 
    CASE WHEN ( EXISTS (SELECT 
        1 AS [C1]
        FROM [dbo].[Orders] AS [Extent1] WITH (TABLOCKX, HOLDLOCK)
        WHERE [Extent1].[OrderNumber] IS NOT NULL
    )) THEN cast(1 as bit) WHEN ( NOT EXISTS (SELECT 
        1 AS [C1]
        FROM [dbo].[Orders] AS [Extent2] WITH (TABLOCKX, HOLDLOCK)
        WHERE [Extent2].[OrderNumber] IS NOT NULL
    )) THEN cast(0 as bit) END AS [C1]
    FROM  ( SELECT 1 AS X ) AS [SingleRowTable1]")

由此返回一个DbRawSqlQuery<bool>。试图将其转换为bool,然后使用变量给我以下错误:

Cannot implicitly convert type 'System.Data.Entity.Infrastructure.DbRawSqlQuery<bool>' to 'bool'

我不知道我做错了什么?我以为你可以把它转换成一个bool ?

检查了这里的文档,但只有一个使用SqlQuery<string>的例子。

实体框架6 context.Database.SqlQuery<

按照Ehsan的指示删除(bool),然后

var res = await blnOrders.SingleAsync();