Dapper n'ajoute pas de paramètres

dapper informix odbc sql

Question

J'essaie d'utiliser Dapper pour nos requêtes complexes afin de supprimer toute surcharge qui existait auparavant avec NH.

J'ai la requête suivante (notez que cela a été considérablement réduit):

SELECT DISTINCT *
FROM  tasks t 
WHERE t.initials = @UserInits

Qui est appelé via notre référentiel comme suit:

taskRepo.RawExec<TaskListItemDTO>(Query,new {UserInits = "SAS"})

Notre implémentation de DapperExec est la suivante:

public IEnumerable<T> RawExec<T>(string SQL, object param)
{
   return _session.Connection.Query<T>(SQL,param);
}

Mais Dapper ne semble pas ajouter les paramètres à la requête et, par conséquent, nous obtenons des erreurs de syntaxe.

Si cela vous aide, nous nous connectons via ODBC à Informix.

Merci

Exemple de code de mise à jour:

Désolé, cela a pris tellement de temps, été très occupé avec le travail! Voici un exemple pour MS SQL (2008) Server qui devrait simplement interroger les sys.all_objects (systables?) Avec une valeur de paramètre de 1 ou 0 - mais dans cet exemple, comme ODBC n'utilise pas de paramètres nommés, cela ne fonctionnera pas .

using Dapper;
using DapperSQL;
using System.Collections.Generic;
using System.Data;
using System.Data.Odbc;

namespace DapperTests
{
    public class SQLEx
    {
        private OdbcConnection GetConnection()
        {
            var cnn = new OdbcConnection("DSN=ODBCSOURCE");
            cnn.Open();

            // wrap the connection with a profiling connection that tracks timings 
            return cnn;
        }

        public IEnumerable<object> DapperTest()
        {
            using (OdbcConnection conn = GetConnection())
            {
                return conn.Query("SELECT * FROM sys.all_objects where is_ms_shipped = ?", new { is_ms_shipped = 1 });
            }
        }
}

Réponse populaire

Je sais que c'est un ancien message, utilisez SP au lieu de requête, cochez ce lien Dapper en utilisant la procédure de stockage ODBC .




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