sql >> Databáze >  >> RDS >> Sqlserver

Parametr tabulkové hodnoty s uloženými procedurami Dapper

Historicky nebyly parametry s tabulkovou hodnotou v dapperu příliš zaměřené; hlavně proto, že fungují pouze na SqlConnection (dapper se snaží cílit na libovolné poskytovatele, včetně "ozdobených" poskytovatelů ADO.NET - tj. kde SqlConnection se skrývá pod nějakým obalem). Co jste mohli stačí implementovat IDynamicParameters ručně (nebo si jen vypůjčte stávající DynamicParameters class) přidat tuto funkci:

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

Budu se také snažit vytvořit konkrétní DynamicParameters třída je zde více polymorfní, takže v budoucím sestavení můžete pouze override jedinou metodou, detekujte typ TVP a přidejte parametr ručně.




  1. Transponování dynamických sloupců do řádků

  2. Optimalizace úložiště MySQL:Konfigurace optimalizace InnoDB pro vysoký výkon

  3. nesprávný specifikátor sloupce pro sloupec

  4. FULLTEXTOVÝ dotaz se skóre/hodnocením v Postgresql