Функция приведения MySqlDataReader, wpf - PullRequest
0 голосов
/ 05 октября 2018

Я хочу привести читателя из mysqldatareader к списку конкретного объекта.Поэтому я использую функцию приведения, но она не работает, у меня есть исключение. введите описание изображения здесь

Это класс объекта введите описание изображения здесь

1 Ответ

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

Вы не можете разыграть MySqlDataReader до List<T>.Вы должны использовать ридер для чтения записей из базы данных и создания объекта KeyError для каждой записи, которую вы добавляете в список.Примерно так:

List<KeyError> list = new List<KeyError>();
using (MySqlDataReader reader = command.ExecuteReader())
{
    while (reader.Read())
    {
        list.Add(new KeyError()
        {
            StartDate = reader.GetString("StartDate"),
            StartDate = reader.GetDateTime("ServerDate")
            //...
        });
    }
}

В классе MySqlDataReader есть методы для получения значения указанного столбца в наборе результатов как любого из примитивных типов данных C #: https://dev.mysql.com/doc/dev/connector-net/8.0/html/T_MySql_Data_MySqlClient_MySqlDataReader.htm

...