Históricamente, los parámetros con valores de tabla no han sido un gran enfoque en dapper; principalmente porque solo funcionan en SqlConnection
(dapper intenta apuntar a proveedores arbitrarios, incluidos los proveedores ADO.NET "decorados", es decir, donde SqlConnection
se esconde debajo de algún envoltorio). Lo que pudiste hacer es implementar IDynamicParameters
manualmente (o simplemente tome prestados los DynamicParameters
existentes clase) para agregar esta funcionalidad:
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;
...
}
También me esforzaré por hacer los DynamicParameters
concretos clase más polimórfica aquí, de modo que en una compilación futura puede simplemente override
un solo método, detecte un tipo TVP-ish y agregue el parámetro manualmente.