Я использую Dapper в проекте, и это нормально, если мне нужно получить либо один тип примитива (int, decimal, string и т. Д.), Либо любой объект db, но мне нужно прочитать только 2 столбца из таблицы, и здесь я столкнулся с множеством проблем:
Это простой запрос:
SELECT col1, col2 FROM Table1
Где я ожидаю получить строку и int
И вот как я читаю данные после выполнения запроса:
var field1 = (await result.ReadAsync<string, int>()).FirstOrDefault();
И это не компилируется.
Я попытался создать класс, который содержит 2 поля: строку и int и использовать этот тип вместо.
Так что это приводит к следующей коррекции:
var field1 = (await result.ReadAsync<MyData>()).FirstOrDefault();
class MyData
{
string...
int ...
}
и он компилируется, но я получаю нулевое значение для строки и правильные данные для int.
Сам запрос правильный, я его проверил и все нормально.
Итак, вопрос в том, как читать 2 столбца?