Я пытаюсь использовать подготовленные операторы в PostgreSQL, но это дает мне довольно неприятные ошибки.
Я пытаюсь выбрать одну запись из БД по MediaID. В БД MediaID является последовательным целым числом. В структуре класса это int.
Однако когда я вызываю sql.Prepare (), он говорит, что у меня неверный синтаксис ввода для MediaID. Я не понимаю, как это могло быть.
NpgsqlCommand sql = mediaRepository.CreateCommand();
sql.CommandText = "SELECT * FROM Media WHERE 'MediaID' = :MediaID";
sql.Parameters.Add(new NpgsqlParameter("MediaID", NpgsqlDbType.Integer));
sql.Prepare();
sql.Parameters["MediaID"].Value = id;
Огорчает то, что, если я установил miscast для int как NpgsqlDbType.Varchar, он готовится очень хорошо - он просто не возвращает никакой информации.
Есть идеи?