我試圖將表值參數傳遞給存儲過程,但我不斷收到異常(請參見下文)。如何傳遞表值參數
SqlCommand c = new SqlCommand("getPermittedUsers", myConn) { CommandType = CommandType.StoredProcedure };
c.Parameters.AddWithValue("@intNotifyingUserId", notifyingUserId);
c.Parameters.AddWithValue("@tSelectedPdfIds", sharedPdfs).SqlDbType = SqlDbType.Structured;
SqlDataReader dr = c.ExecuteReader();
類型是在服務器上定義是這樣的:
CREATE TYPE [dbo].[IdList] AS TABLE(
[Id] [int] NOT NULL
)
我試圖通過sharedPdfs作爲List<int>
,並IQueryable<int>
,但不斷收到以下異常:
Object must implement IConvertible.
任何人都知道我在做什麼錯了?文件意味着我應該能夠通過一個列表作爲TVP,但沒有給出任何例子。
謝謝。
'getPermittedUsers'如何申報? –
這是一個長效的,但你有沒有嘗試傳遞一個'int []'? –
你需要使用'DataTable'。 – ChaosPandion