MySql Entity Framework Select

0

У меня возникают проблемы с запросом MySql.

string strSql = "select SQL_CALC_FOUND_ROWS *, pv.* from products pv WHERE pv.name = 'Teddy Bear';";

strSql += "SET @resultCount = FOUND_ROWS();"

MySqlParameter parm = new MySqlParameter("@resultCount",MySqlDbType.Int32)
parm.Direction = ParameterDirection.Output;

var result = ObjectContext.ExecuteStoreQuery<Product>(strSql,parm);
return result;

Возвращенная ошибка:

У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с "NULL = FOUND_ROWS()" в строке 1

Как мне получить @resultCount для возврата общего количества записей

  • 1
    Ваш SQL был неверен из-за неправильного цитирования. Я пытался исправить это, чтобы я мог прочитать ваш вопрос. Я не знаю, в этом ли проблема или вы просто неправильно написали это в вопросе.
Теги:
entity-framework

1 ответ

1

При создании параметра я думаю, вам нужно указать имя без @.

Кроме того, вам нужно указать направление параметра; Я думаю, что по умолчанию он вводится только, то есть вам нужно указать значение, которое будет вставлено в команду; то, что вы хотите, выводится. Вы можете указать направление с помощью некоторых перегрузок при создании параметра или путем установки свойства - не знаете, отличается ли синтаксис от других поставщиков, поскольку я не работал с MySql в течение некоторого времени, но это должно быть:

parm.Direction = ParameterDirection.Output;
  • 0
    С или без @ до сих пор, кажется, не исправить. Param.Direction уже был указан, но я попробовал все возможные варианты в ParameterDirection и до сих пор безрезультатно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню