Ниже приведен пример класса объекта и .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;
}
Читая это с filehelpers дает мне 2 объекты Example.The первого значения Example.first быть '11' и т.д. I перетащите эти данные в базу данных, преобразуя List в DataTable и используя SqlBulkCopy. Все идет хорошо.
Таблица в базе данных содержит только 3 столбца (varchar) с именами столбцов; первый, второй и третий.
Проблема возникает, когда я пытаюсь извлечь данные обратно из базы данных и отобразить его обратно в список, я использую следующий код (используя щеголеватый) для этого:
IDbConnection connection = new SqlConnection(connectionString);
var rows = connection.Query<Example>("select * from examplesTable");
foreach (Example e in rows)
{
examples.Add(e); //List<Example> examples
}
Это возвращает правильное количество строк, однако, если я пытаюсь извлечь данные из объектов, он содержит нулевые данные. Я не могу понять, что я делаю неправильно.
«однако, если я пытаюсь извлечь данные из объектов» - в какую часть кода это относится? – Hughnited
@ Hughnited Я тестировал это с добавлением MessageBox.Show (e.First); в цикле foreach, но ничего не показывает (пустое окно). Я также попытался преобразовать этот список в DataTable и вернуть его обратно в базу данных, результатом чего является то, что он подталкивает правильное количество строк, но все данные являются нулевыми. – RedZerg
В foreach: examples.Add (e); MessageBox.Show (e.First); // возвращает пустое окно. – RedZerg