J'ai une question sur la façon d'écrire des SQL avec Dapper.
Maintenant, j'utilise quelque chose comme ceci:
resultObject result;
String sqlCmd = String.Format("select * from SOME_PROCEDURE('{0}',{1},{2})", Param1, Param2, Param3);
result = FbConnection1.Query<resultObject>(sqlCmd, null).ToList();
Mais maintenant je vois que ce n'est pas si propre, et j'ai trouvé une commande FBCommand
qui me permet d'utiliser
FbCommand cmd = new FbCommand("select * from SOME_PROCEDURE(@param1, @param2)");
cmd.Parameters.Add("@param1", FbDbType.Integer).Value = value1;
cmd.Parameters.Add("@param2", FbDbType.Integer).Value = value2;
Je ne sais pas comment utiliser Dapper avec FBCommand, est-ce possible? Ou peut-être utiliser String.Format
pour la construction de SQL est une bonne façon?
S'il existe une FbConnection
correspondante, et si cette connexion est une implémentation ADO.NET standard, et si elle prend en charge les paramètres standard, alors oui, vous pouvez essayer:
using(FbConnection conn = ...)
{
var data = conn.Query<SomeType>(
"select * from SOME_PROCEDURE(@value1, @value2)",
new { value1, value2 }).ToList();
// ...
}
Vous pouvez également essayer:
using(FbConnection conn = ...)
{
var data = conn.Query<SomeType>("SOME_PROCEDURE",
new { param1 = value1, param2 = value2 },
commandType: CommandType.StoredProcedure).ToList();
// ...
}