Невозможно связать параметр в Insight.Database

dapper insight.database micro-orm oledb

Вопрос

Я пытаюсь связать параметр с SQL-запросом в моем репозитории, но с ошибкой

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

Я получаю исключение OleDb.

SQL0313: Число переменных хоста недействительно. Причина. , , , , : Число переменных хоста или записей в области SQLDA или дескриптора, указанных в операторе EXECUTE или OPEN, не совпадает с числом маркеров параметров, указанных в подготовленном SQL-заявлении S000001. Если имя оператора * N, количество переменных или записей хоста в области SQLDA или дескриптора указано в операторе OPEN и не совпадает с числом переменных хоста, указанным в инструкции DECLARE CURSOR для курсора C000001. Восстановление. , , : Измените количество переменных хоста, указанных в предложении USING, или количество записей в области SQLDA или дескриптора, чтобы равняться количеству маркеров параметров в подготовленном операторе SQL или количестве переменных хоста в инструкции DECLARE CURSOR. Предварительно скопируйте программу.

Я использовал ? для привязки параметров, поскольку OleDb имеет позиционные параметры, которые обозначаются символом '?' скорее '@parameterName' .

Любая помощь приветствуется.

Популярные ответы

С помощью Insight.Database вы можете попробовать это?

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


Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow