sql >> Base de Datos >  >> RDS >> PostgreSQL

Usando Dapper y Postgresql - tipo de datos citext

Probablemente necesite crear un CitextParameter que amplíe ICustomQueryParameter. Esta API le permite pasar una instancia arbitraria de DbParameter a Dapper; en este caso, sería una instancia de NpgsqlParameter con su NpgsqlDbType establecido en Citext.

Algo como esto debería funcionar:

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