sql >> Database >  >> RDS >> Sqlserver

Tabel Waarde Parameter met Dapper opgeslagen procedures

Historisch gezien waren tabelwaarde-parameters geen grote focus in dapper; vooral omdat ze alleen werken op SqlConnection (dapper probeert willekeurige providers te targeten, inclusief "versierde" ADO.NET-providers - d.w.z. waar een SqlConnection zit verstopt onder een wikkel). Wat je zou do is implementeren IDynamicParameters handmatig (of leen gewoon de bestaande DynamicParameters class) om deze functionaliteit toe te voegen:

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;
    ...
}

Ik zal me ook inspannen om de concrete DynamicParameters klasse hier meer polymorf, zodat je in een toekomstige build gewoon kunt override een enkele methode, detecteer een TVP-achtig type en voeg de parameter handmatig toe.




  1. importeer CSV naar MySQL en converteer datum

  2. laravel met:Kolom niet gevonden

  3. Stel alle kolommen van een mysql-tabel in op een bepaalde waarde

  4. Mislukt bouwwiel voor psycopg2 - MacOSX met virtualenv en pip