2011-07-20 30 views
1

我想爲有一些存儲過程的項目使用PetaPoco。他們大多數工作正常,但是,我們有一對存儲過程需要一個IntList,這是一個用戶定義的表類型。我可以使用PetaPoco將表值參數傳遞給存儲過程嗎?

我還沒有找到辦法做到這一點,我希望我只是錯過了一些明顯的東西。目前的解決辦法,我已經是存儲過程的代碼從SQL複製到一個字符串,然後執行,對我PetaPoco數據庫:

public IEnumerable<UserComments> GetComments(IEnumerable<int> userIds) 
{ 
    using(var db = new Database(connection)) 
    { 
     db.Fetch<UserComments>(new Sql("select UserId, Comment from Comments where UserId in (@0)", userIds); 
    } 
} 
+1

您通常會如何通過ado.net調用它? – Schotime

+0

你得到PetaPoco使用TableValue參數當我嘗試通過sqlparam我總是得到錯誤列,參數或變量@ 0。 :找不到數據類型結構化。你能顯示如何調用與表值param調用提取。 – adopilot

+0

我覺得我做到了,但是現在已經差不多2年了,我甚至不知道我在做什麼代碼,所以我不能給你太多的幫助 – taylonr

回答

3

您可以直接在傳遞的SqlParameter 如

db.Fetch<User>("EXECUTE getUser @0", new SqlParameter(,,,,)); 

因此,您應該能夠像直接通過ADO.net那樣調用它。

+0

謝謝,現在就試試吧。 – taylonr

相關問題