Как мне преобразовать 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 ... но в то же время это позволяет мне контролировать порядок каждое свойство добавляется в строку.

Кто-нибудь знает лучший способ сделать это?

Ответы на вопрос(5)

Ваш ответ на вопрос