我有一个存储过程插入一行,有些条件返回结果集或单个错误代码但是当我使用dapper返回总是相同的返回类。所以我无法理解如果代码给我错误或消息而不是成功的结果集。
public static List<Result> Results(int Id)
{
using (IDbConnection connection = BL.DataProvider.OpenConnection())
{
return connection.Query<Result>("SearchResultGet", new { Id = Id }, commandType: CommandType.StoredProcedure).ToList();
}
}
ALTER PROCEDURE SearchResultGet
@Id int
AS
IF(id != 0)
SELECT * FROM XX WHERE Id = Id
ELSE
SELECT -1
代码只是样本,没有任何意义。
答案 0 :(得分:0)
没有ORM / micro-ORM API会像这样;对于一组案件有一个select -1
只是......不愉快。选项:
select
Results
方法中(或者除了)sproc之外 - 即检查C#中的Id
是否为零return -1
而不是select -1
(尽管请注意,dapper不会使捕获返回值变得微不足道)raiserror
)