系统.Dapper的InvalidOperationException



我将在asp.net项目中使用dapper作为我的ORM。问题是,我要执行我的过程返回get data by Id。如果Id不存在,则出现如下错误

序列不包含元素

是否有办法使用dapper来防止错误?因为其他解决方案使用实体框架。

这是我的代码

var SP_Name = "SP_GetSupplierById";
parameters.Add("@Id", Id);
var getSupplierById = connection.QuerySingle<Supplier>(SP_Name,parameters,commandType:CommandType.StoredProcedure);
return getSupplierById;

这是我的程序

CREATE PROCEDURE SP_GetSupplierById
@Id int
AS
SELECT * from TB_M_Supplier where id = @Id;
RETURN 0

谢谢你的帮助

QuerySingle断言只返回一行;不是零,不是倍数。如果零是可以接受的,那么您可以使用QuerySingleOrDefault-并检查默认值,在引用类型(类)的情况下将是nullQuerySingleOrDefault只断言没有多行;

var getSupplierById = connection.QuerySingleOrDefault<Supplier>(SP_Name,parameters,commandType:CommandType.StoredProcedure);
return getSupplierById; // todo: consider null

最新更新