In der Vergangenheit waren Tabellenwertparameter kein großer Fokus in Dapper; hauptsächlich, weil sie nur auf SqlConnection
funktionieren (dapper versucht, beliebige Anbieter anzusprechen, einschließlich "dekorierter" ADO.NET-Anbieter - d. h. wo eine SqlConnection
versteckt sich unter einer Hülle). Was Sie könnten implementieren Sie IDynamicParameters
manuell (oder einfach die vorhandenen DynamicParameters
ausleihen Klasse), um diese Funktionalität hinzuzufügen:
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;
...
}
Ich werde mich auch bemühen, die konkreten DynamicParameters
zu machen Klasse hier polymorpher, so dass Sie in einem zukünftigen Build einfach override
können eine einzelne Methode, erkennen Sie einen TVP-artigen Typ und fügen Sie den Parameter manuell hinzu.