Ниже приведен пример класса объекта и файла .txt. Я использую файловые помощники для создания этого класса, затем я читаю файл .txt с помощью FileHelpers, и он преобразует этот файл в эти объекты, и я помещаю их в список.
.txt-файл:
1122233
4455566
Пример класса:
[FixedLengthRecord(FixedMode.AllowLessChars)]
public class Example
{
[FieldFixedLength(2)]
public string first;
[FieldFixedLength(3)]
public string second;
[FieldFixedLength(2)]
public string third;
}
Чтение этого с помощью файловых помощников дает мне 2 объекта примера. Первое значение Example.first равно «11» и т. д. Я помещаю эти данные в базу данных, преобразуя список в DataTable и используя SqlBulkCopy. Все идет хорошо.
Таблица в базе данных просто содержит 3 столбца (varchar) с именами столбцов; первый, второй и третий.
Проблема возникает, когда я пытаюсь извлечь данные из базы данных и сопоставить их обратно в список. Для этого я использую следующий код (используя Dapper):
IDbConnection connection = new SqlConnection(connectionString);
var rows = connection.Query<Example>("select * from examplesTable");
foreach (Example e in rows)
{
examples.Add(e); //List<Example> examples
}
Это возвращает правильное количество строк, однако, если я попытаюсь получить данные из объектов, они содержат нулевые данные. Я не могу понять, что я делаю неправильно.