当数据库具有空值时,如何在ASP.NET Web API中显示数据为空



我正在从ASP.Net Web API调用我的数据库作为

[HttpGet]
public  IActionResult GetOutput(int id)
{
string CheckJob = "exec sp_GetJob "+ "@id= " + id;
var result = _context.Job.FromSqlRaw(CheckJob).ToList().FirstOrDefault().Job;
if(result == null){
-- do other functions
}
return Ok(result);
}

我的课是

public class Job
{
public int Job {get;set;}
}

如果对于特定的输入,如果值不可用,那么它应该在我的变量结果中存储null值。但它显示错误为

System.Data.SqlTypes.SqlNullValueException:'数据为Null。不能对Null值调用此方法或属性。'

存储过程

CREATE PROCEDURE sp_GetJob @id
AS
DECLARE @JobID AS int
BEGIN
set @JobID = ( select JobId from Config 
where id = @id)
SELECT @JobID AS Job
END

有人能告诉我,如果数据库返回null值,那么如何将null值存储在变量中,以便我可以比较该变量继续前进吗?

谢谢

您可以尝试使用可为null的值类型。

public class Job
{
public int? Job {get;set;}
}

最新更新