2014-02-07 31 views
4

我有一個項目,我與很多存儲特效互動。沒有裸露的SQL選擇。 我正在使用Dapper。我們沒有嘗試使用任何MultiMapping功能。我想弄清楚爲什麼這個proc會返回這個錯誤?我應該檢查什麼?我應該尋找什麼?小巧玲瓏多的地圖API splitOn PARAM錯誤 - 我不使用MultiMapping

錯誤: 當使用多地圖API確保您設置的splitOn PARAM如果你有多個id其他鍵\ r \ n參數名:splitOn

+1

這個問題是不是重複:http://stackoverflow.com/questions/8945006/dapper-execute-stored-procedure-raises-argumentexception-about-multi-mapping?你還可以發佈堆棧跟蹤嗎? –

回答

13

你應該使用EXECUTE(),而不是查詢()因爲你的SP不會返回任何記錄。 Dapper假設您正在嘗試獲取數據,因此將缺少的結果映射到您的模型類。

0

我今天就遇到了這個問題,不明白爲什麼我得到時,我本來就不是想多圖擺在首位的MultiMapping錯誤消息。我的代碼使用dapper的Query而不是Execute,因爲sproc確實返回了一些行。

原來,在我的存儲過程中,它採用一個varchar參數,如果參數傳遞爲NULL,那麼結果就是返回值整數0.如果它作爲空字符串傳遞,我得到一個空的結果在正常返回值0

的頂部設置,因爲我已經告訴小巧玲瓏使用Query<MyClass>,它看着從零版本爲int,而不是一個MyClass平原0的回報,並試圖Multimap之,這就是該multimap錯誤來自。

爲了解決這個問題,我改變了我的存儲過程來一個空PARAM轉換爲空字符串PARAM,從而確保空的結果集,而不是沒有結果集,然後開始小巧玲瓏高興再次合作。