Как избежать "?"в Expression.Sql в NHibernate (C #) - PullRequest
0 голосов
/ 01 октября 2018

Когда я пытаюсь использовать Postgresql '?'оператор в пределах Expression.Sql он думает, что я пытаюсь добавить новый параметр, и терпит неудачу.Пример:

Expression.Sql("(this_.data -> 'glossary' ->> 'GlossDiv')::jsonb ? ?", "testValue", NHibernateUtil.String);

[ADOExceptionReporter]: индекс был вне диапазона.Должен быть неотрицательным и меньше размера коллекции.

Как избежать этого?

1 Ответ

0 голосов
/ 05 октября 2018

Можете ли вы попробовать перегрузку, используя SqlString в качестве параметра, который может вам помочь:

Expression.Sql(new SqlString(new object[]{"(this_.data -> 'glossary' ->> 'GlossDiv')::jsonb ? ", Parameter.Placeholder}), "testValue", NHibernateUtil.String);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...