Historisk set har tabel-værdi-parametre ikke været et stort fokus i dapper; hovedsagelig fordi de kun virker på SqlConnection
(dapper forsøger at målrette mod vilkårlige udbydere, inklusive "dekorerede" ADO.NET-udbydere - dvs. hvor en SqlConnection
gemmer sig under en indpakning). Hvad du kunne do er at implementere IDynamicParameters
manuelt (eller bare lån de eksisterende DynamicParameters
klasse) for at tilføje denne funktionalitet:
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;
...
}
Jeg vil også bestræbe mig på at lave de konkrete DynamicParameters
klasse mere polymorf her, så du i en fremtidig build bare kan override
en enkelt metode, detekter en TVP-agtig type og tilføj parameteren manuelt.