No se puede vincular el parámetro en Insight.Database

dapper insight.database micro-orm oledb

Pregunta

Estoy intentando vincular un parámetro a una consulta SQL en mi repositorio pero teniendo un error

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

Obtengo una excepción OleDb.

SQL0313: Número de variables de sistema principal no válidas. Porque . . . . . : El número de variables o entradas de host en un SQLDA o área de descriptor especificada en una instrucción EXECUTE o OPEN no es lo mismo que la cantidad de marcadores de parámetros especificados en la instrucción SQL preparada S000001. Si el nombre de la declaración es * N, el número de variables de host o entradas en un SQLDA o área de descriptor se especificó en una instrucción OPEN y no es igual al número de variables de host especificadas en la instrucción DECLARE CURSOR para el cursor C000001. Recuperación . . : Cambie el número de variables de host especificadas en la cláusula USING o el número de entradas en el área de SQLDA o descriptor para igualar el número de marcadores de parámetros en la declaración SQL preparada o el número de variables de host en la sentencia DECLARE CURSOR. Precompila el programa nuevamente.

He usado ? para el enlace de parámetros, ya que OleDb tiene parámetros posicionales que se denotan con '?' más bien el '@parameterName' .

Cualquier ayuda es apreciada.

Respuesta popular

Usando Insight.Database, ¿puedes probar esto?

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


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow