Appel d'une procédure stockée avec Dapper et Postgres

c# dapper postgresql stored-procedures

Question

J'ai essayé d'appeler une procédure stockée Postgresql en utilisant Dapper et chaque exemple que j'ai vu a la même chose mais pour une raison quelconque, cela ne fonctionne pas pour moi. Il semble qu'il appelle la procédure stockée, mais elle ne renvoie aucun résultat. Ceci est mon code:

using (PgSqlConnection c = new PgSqlConnection(Configuration.ConnectionString("database_string")))
        {
            var values = c.Query<TagValue>("get_values", new { _tag = tag, _start = start, _end = end }, commandType: CommandType.StoredProcedure);
        }

Je ne peux pas obtenir ceci pour retourner des résultats mais il ne jette également aucune erreur. S'il vous plaît, aidez-moi au moins à me diriger dans la direction à suivre. Si je lance la requête en utilisant une chaîne telle que:

values = c.Query<TagValue>(string.Format(@"select * from get_values('{0}', '{1}', '{2}');", tag, start, end));

cela fonctionne correctement et renvoie les bons résultats.

Réponse populaire

Voici comment j'appelle les processus stockés en utilisant Dapper

public class Parameters : DynamicParameters
{
    public new void Add(string name, object value = null, DbType? dbType = null, ParameterDirection? direction = null, int? size = null)
    {
        if (dbType == null && value is string)
        {
            if (size == null)
            {
                dbType = DbType.AnsiString;
            }
            else
            {
                dbType = DbType.AnsiStringFixedLength;
            }
        }
        base.Add(name, value, dbType, direction, size);
    }
}

const string query = @"yourquery"
Parameters p = new Parameters();
        p.Add("@Tag", tag);
        p.Add("@Start", start);
        p.Add("@End", end);
var values = c.Query<TagValue>("get_values", p,CommandType.StoredProcedure);

DynamicParameters fait partie de l'assembly Dapper.

J'espère que cela t'aides.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi