C# 如何检查存储过程是否返回数据?

C# 如何检查存储过程是否返回数据?,c#,asp.net-mvc,stored-procedures,C#,Asp.net Mvc,Stored Procedures,我在SQL Server中有一个存储过程GetLastRecordId(),它返回ASP.NET MVC项目控制器中的最后一个记录id。但问题是,当表中没有数据时,它会显示如下结果,因此我无法检查null: 我的存储过程: ALTER PROCEDURE [dbo].[GetLastRecordId] AS BEGIN SET NOCOUNT ON; SELECT CustomerCreditAppId, CompanyName FROM

我在SQL Server中有一个存储过程
GetLastRecordId()
,它返回ASP.NET MVC项目控制器中的最后一个记录id。但问题是,当表中没有数据时,它会显示如下结果,因此我无法检查null:

我的存储过程:

ALTER PROCEDURE [dbo].[GetLastRecordId] 
AS
BEGIN
    SET NOCOUNT ON;

    SELECT 
        CustomerCreditAppId, CompanyName 
    FROM
        tblname 
    WHERE
        CustomerCreditAppId = (SELECT MAX(CustomerCreditAppId) FROM tblname)
END

您可以使用Any检查可枚举项是否为空:

spdata.Any()


展开结果视图并重新上传您的屏幕截图,也许?另外,复制/粘贴存储过程并添加相应的标记?我在这个屏幕截图中看不到任何内容:-)我已经扩展了结果,刚刚上传了新的屏幕截图@Rafalon调试器可能是您的问题。在调试器中评估Linq查询可以更改在代码中执行该查询时得到的结果。请注意“结果…不能被多次枚举”消息。这是一个可怕的想法。您将您的PK字段设置为自动递增,而不是尝试自己设置它(如果多个用户同时发出请求,他们将获得相同的值),这会给我下面的异常消息。”spdata.Any()'引发了类型为'System.InvalidOperationException'bool{System.InvalidOperationException}的异常是否存在
InnerException
?能否向我们显示GetLastRecordId的内容?