Dapper處理返回空結果集

dapper datareader

我們正在使用Dapper來映射我們的sql數據,到目前為止它已經運行得很好。我有一個案例,雖然我們在做類似的事情:

someObject = con.Query<T>("GetInfoSproc", p, commandType: CommandType.StoredProcedure).Single();

只要我正在調用的存儲過程返回數據,這就很有效。有時存儲過程可能不會返回結果並在out參數中返回錯誤。這似乎導致Dapper出現問題,因為dapper會拋出錯誤:

“當使用多映射API時,如果您的ID不是Id,請確保設置splitOn參數”

有沒有辦法編寫查詢,以便它可以正確處理返回空結果的情況或這是Dapper的限制?

熱門答案

SingleOrDefault()是你的朋友

嘗試這個:

someObject = con.Query<T>("GetInfoSproc", p, commandType: CommandType.StoredProcedure).SingleOrDefault();
if (someObject != null)
{
  // operate on your results here
}
return someObject;

你還需要確保TNullable



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因