Historicamente, os parâmetros com valor de tabela não têm sido um grande foco no dapper; principalmente porque eles só funcionam em
SqlConnection
(dapper tenta direcionar provedores arbitrários, incluindo provedores ADO.NET "decorados" - ou seja, onde um SqlConnection
está escondido debaixo de algum invólucro). O que você poderia fazer é implementar IDynamicParameters
manualmente (ou apenas emprestar os DynamicParameters
existentes class) para adicionar esta funcionalidade:void SqlMapper.IDynamicParameters.AddParameters(System.Data.IDbCommand command,
SqlMapper.Identity identity)
{
...
// and then whatever the code is...
((SqlCommand)command).Parameters
.AddWithValue(...,...).SqlDbType = System.Data.SqlDbType.Structured;
...
}
Também me esforçarei para tornar os
DynamicParameters
concretos classe mais polimórfica aqui, para que em uma compilação futura você possa apenas override
um único método, detecte um tipo TVP-ish e adicione o parâmetro manualmente.