Как мне преобразовать List <T> в DataSet?
Чтобы получить список объектов, мне нужно преобразовать его в набор данных, в котором каждый элемент в списке представлен строкой, а каждое свойство - столбцом в строке. Этот DataSet будет передан в Aspose.Cells функция для создания документа Excel в виде отчета.
Скажи, что у меня есть следующее:
public class Record
{
public int ID { get; set; }
public bool Status { get; set; }
public string Message { get; set; }
}
Предоставьте список записей, как я могу преобразовать его в DataSet следующим образом:
ID Status Message
1 true "message"
2 false "message2"
3 true "message3"
...
В настоящий момент я могу думать только о следующем:
DataSet ds = new DataSet
ds.Tables.Add();
ds.Tables[0].Add("ID", typeof(int));
ds.Tables[0].Add("Status", typeof(bool));
ds.Tables[0].Add("Message", typeof(string));
foreach(Record record in records)
{
ds.Tables[0].Rows.Add(record.ID, record.Status, record.Message);
}
Но этот путь заставляет меня думать, что должен быть лучший способ, так как, по крайней мере, если новые свойства добавляются в Record, они не будут отображаться в DataSet ... но в то же время это позволяет мне контролировать порядок каждое свойство добавляется в строку.
Кто-нибудь знает лучший способ сделать это?