Comment récupérer la valeur de retour lors de l'utilisation de dapper pour exécuter

dapper

Question

Comment puis-je faire le code retour bool basé sur l'exécution. Donc, je peux revenir à la méthode d'appel.

public void UpdateSpanStartDate(SpanRecord spanRecord)
{
    Run(conn => conn.Execute("[dbo].[SpecailSpanStartUpdate]",
        new DynamicParameters(new Dictionary<string, object>
        {
             {"SpanId", spanRecord.SpanId},
        }), null,Config.CommandTimeout, CommandType.StoredProcedure));
    }

Réponse d'expert

Cela dépend entièrement de la provenance du bool . La configuration la plus courante serait que le sproc select une sortie quelconque. Si tel est le cas, la solution la plus appropriée consiste à utiliser Query<T> avec une opération LINQ telle que Single . Par exemple (ranger aussi les paramètres):

Run(conn => conn.Query<int>("[dbo].[SpecailSpanStartUpdate]",
    new {spanRecord.SpanId}, null,
     Config.CommandTimeout, CommandType.StoredProcedure).Single() != 0);

Ici, je m'attends à une seule ligne ayant un int dans la première colonne, renvoyant true si l' int est non nul.



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