Impossibile associare il parametro in Insight.Database

dapper insight.database micro-orm oledb

Domanda

Sto cercando di associare un parametro a una query SQL nel mio repository ma avendo un errore

public IList<Movie> FindMovieById(int movieId)
{
   return Database.Connection().QuerySql<Movie>("select * from myDB.movies where ID=?", new { movieId });
}

Ottengo un'eccezione OleDb.

SQL0313: numero di variabili host non valide. Causa. . . . . : Il numero di variabili o voci host in un'area SQLDA o descrittore specificata in un'istruzione EXECUTE o OPEN non è uguale al numero di indicatori di parametro specificati nell'istruzione SQL preparata S000001. Se il nome dell'istruzione è * N, il numero di variabili o voci host in un'area SQLDA o descrittore è stato specificato in un'istruzione OPEN e non è uguale al numero di variabili host specificate nell'istruzione DECLARE CURSOR per il cursore C000001. Recupero . . : Modifica il numero di variabili host specificate nella clausola USING o il numero di voci nell'area SQLDA o descrittore per uguagliare il numero di marcatori di parametro nell'istruzione SQL preparata o il numero di variabili host nell'istruzione DECLARE CURSOR. Precompila nuovamente il programma.

Ho usato ? per il collegamento dei parametri come OleDb ha parametri posizionali che sono indicati con '?' piuttosto il '@parameterName' .

Qualsiasi aiuto è apprezzato.

Risposta popolare

Usando Insight.Database puoi provare questo?

return Database.Connection().QuerySql<Movie>(
  "select * from myDB.movies where ID=@movieId", 
  new { movieId = movieId });


Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow