我正在从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;}
}