PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Utilisation de Dapper et Postgresql - type de données citext

Vous devez probablement créer créer un CitextParameter qui étend ICustomQueryParameter. Cette API vous permet de transmettre une instance arbitraire de DbParameter à Dapper - dans ce cas, il s'agirait d'une instance de NpgsqlParameter avec son NpgsqlDbType défini sur Citext.

Quelque chose comme ceci devrait fonctionner :

class CitextParameter : SqlMapper.ICustomQueryParameter
{
    readonly string _value;

    public CitextParameter(string value)
    {
        _value = value;
    }

    public void AddParameter(IDbCommand command, string name)
    {
        command.Parameters.Add(new NpgsqlParameter
        {
            ParameterName = name,
            NpgsqlDbType = NpgsqlDbType.Citext,
            Value = _value
        });
    }
}