Historiquement, les paramètres de valeur de table n'ont pas été au centre des préoccupations de Dapper ; principalement parce qu'ils ne fonctionnent que sur SqlConnection
(dapper essaie de cibler des fournisseurs arbitraires, y compris des fournisseurs ADO.NET "décorés" - c'est-à-dire où un SqlConnection
se cache sous un emballage). Ce que vous pourriez faire est d'implémenter IDynamicParameters
manuellement (ou simplement emprunter les DynamicParameters
existants class) pour ajouter cette fonctionnalité :
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;
...
}
Je vais également m'efforcer de rendre concrets les DynamicParameters
classe plus polymorphe ici, de sorte que dans une future construction, vous pouvez simplement override
une seule méthode, détectez un type TVP et ajoutez le paramètre manuellement.