Exemple de code Dapper-Dot-Net

dapper sample

Question

Ceci est le code coupé à partir des exemples Dapper:

var p = new DynamicParameters();
p.Add("@a", 11);
p.Add("@b", dbType: DbType.Int32, direction: ParameterDirection.Output);
p.Add("@c", dbType: DbType.Int32, direction: ParameterDirection.ReturnValue); 
cnn.Execute("spMagicProc", p, commandType: commandType.StoredProcedure);
int b = p.Get("@b");
int c = p.Get("@c");

N'importe qui : Dans le code ci-dessus de l'exemple fourni, j'obtiens une erreur "ne peut pas résoudre .Execute" - en référence à cnn.Execute . Je regarde l'objet de connexion et il n'y a pas de méthode pour Execute. Dapper fonctionne bien évidemment, alors qu'est-ce que je fais mal?

Réponse acceptée

Je crois que cela devrait vous aider à résoudre:

using( var connection = new SqlConnection( connectionString ) )
{
    try
    {
        var p = new DynamicParameters();
        p.Add( "a", 11 );
        p.Add( "b", dbType: DbType.Int32, direction: ParameterDirection.Output );
        p.Add( "c", dbType: DbType.Int32, direction: ParameterDirection.ReturnValue );
        connection.Open();
        connection.Execute( "MyDamnStoredProc", p, commandType: CommandType.StoredProcedure );
        int b = p.Get<int>( "b" );
        int c = p.Get<int>( "c" );
    }
    catch( Exception ex )
    {
        Console.WriteLine( ex.Message );
    }
}

Notes :

  1. les paramètres n'ont pas besoin du symbole @; Dapper va gérer cela pour vous.
  2. veillez à utiliser des paramètres nommés; voir la méthode connection.Execute mise à jour qui spécifie le paramètre commandType: Vous faites cela pour que les paramètres facultatifs puissent être omis de l'appel de méthode.

Réponse populaire

"ne peut pas résoudre .Execute"

Ce serait parce que votre méthode d'extension est manquante, avez-vous using Dapper; en haut de votre fichier.

Voir aussi: http://msdn.microsoft.com/en-us/library/bb308966.aspx#csharp3.0overview_topic3




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