Dapper: использование оператора WHERE IN с обработчиками настраиваемых типов приводит к тому, что «не существует сопоста ⇐ C#
Dapper: использование оператора WHERE IN с обработчиками настраиваемых типов приводит к тому, что «не существует сопоста
Однако я не уверен, делаю ли я что-то не так с библиотекой:
У меня есть собственный обработчик типа для одного из моих классов. Когда я обычно использую обработчик этого типа с dapper, у меня нет проблем с его правильным использованием при выполнении, скажем, вставки или запроса данных.
Однако в тот момент, когда я использую, скажем, операторы SELECT с использованием WHERE IN, запрос всегда завершается с ошибкой, упомянутой в заголовке, а именно:
"Использование оператора WHERE IN с обработчиками пользовательских типов приводит к выводу "Нет" существует сопоставление типа объекта... с известным собственным управляемым поставщиком тип".
Пример такого запроса:
var readItem = await Connection.QueryAsync($"SELECT * FROM HelloWorld WHERE MyColumn IN @Vals", new { Vals = new List { item1, item2 }.ToArray() }) ; Здесь «TestString» — мой собственный тип. на данный момент это просто класс с одним строковым свойством. Я использую параметризованный оператор SQL с анонимными объектами. Я преобразую список в массив, потому что где-то видел, что это решило проблему для других. Однако мне это не помогло.
Тем временем запрос типа:
var readItem = await Connection.QueryAsync($"SELECT * FROM HelloWorld WHERE MyColumn = @Val", new { Val = item1 }); Отлично работает.
Однако я не уверен, делаю ли я что-то не так с библиотекой:
У меня есть собственный обработчик типа для одного из моих классов. Когда я обычно использую обработчик этого типа с dapper, у меня нет проблем с его правильным использованием при выполнении, скажем, вставки или запроса данных.
Однако в тот момент, когда я использую, скажем, операторы SELECT с использованием WHERE IN, запрос всегда завершается с ошибкой, упомянутой в заголовке, а именно:
"Использование оператора WHERE IN с обработчиками пользовательских типов приводит к выводу "Нет" существует сопоставление типа объекта... с известным собственным управляемым поставщиком тип".
Пример такого запроса:
var readItem = await Connection.QueryAsync($"SELECT * FROM HelloWorld WHERE MyColumn IN @Vals", new { Vals = new List { item1, item2 }.ToArray() }) ; Здесь «TestString» — мой собственный тип. на данный момент это просто класс с одним строковым свойством. Я использую параметризованный оператор SQL с анонимными объектами. Я преобразую список в массив, потому что где-то видел, что это решило проблему для других. Однако мне это не помогло.
Тем временем запрос типа:
var readItem = await Connection.QueryAsync($"SELECT * FROM HelloWorld WHERE MyColumn = @Val", new { Val = item1 }); Отлично работает.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Хороший способ связать все события класса с соответствующими обработчиками [дубликат]
Anonymous » » в форуме C# - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Хороший способ связать все события класса с соответствующими обработчиками [дубликат]
Anonymous » » в форуме C# - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-