Я пытаюсь передать параметр table-value в хранимую процедуру, но получаю исключение (см. ниже).
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, но не дает никаких примеров.
Спасибо.