Como passar um parâmetro de valor de tabela
Estou tentando passar um parâmetro de valor de tabela para um procedimento armazenado, mas continuo recebendo uma exceção (veja abaixo
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();
O tipo é definido no servidor assim:
CREATE TYPE [dbo].[IdList] AS TABLE(
[Id] [int] NOT NULL
)
Eu tentei passar sharedPdfs comoList<int>
eIQueryable<int>
, mas continue recebendo a seguinte exceção:
Object must implement IConvertible.
Alguém sabe o que estou fazendo de errado? A documentação implica que eu possa passar uma lista como TVP, mas não dá exemplo
Obrigado