Преобразование List в DataTable C# — свойства не найденыC#

Место общения программистов C#
Ответить
Anonymous
 Преобразование List в DataTable C# — свойства не найдены

Сообщение Anonymous »

Я пытаюсь преобразовать список в таблицу данных. Мой текущий код показан ниже, однако GetProperties(BindingFlags.Public | BindingFlags.Instance) не возвращает никаких свойств.
Объект заказа:

Код: Выделить всё

class Order
{
public string SSCC;
public string Code;
public string ToSiteMaterial;
public string ToSiteProductCode;
public string FromSiteMaterial;
public string FromSiteProductCode;
public string Weight;
public string Prday;
public string Expire1;
public string Expire2;
public string Expire3;
public string slday;
public string UnitExternalBatch;
public string UnitLotOverride;
public string PalletSSCC;
public string PalletID;
public DateTime CreatedDateTime;
public string processed;
public string verified;
public string PackErrorMessage;
public string PalletErrorMessage;
public string LinkErrorMessage;
public string NewPackSSCC;
public string Tare;
public string Manufacturer;
public string IntakeLabelLayout;
public string Pieces;
public string TimesProcessed;
public string FixedCode;
}

Код: Выделить всё

1) List OrdersToProcess = new List();

2) BulkInsert(OrdersToProcess, "TestTableName");

Код: Выделить всё

3) private void BulkInsert(List orders, string tablename)
{
DataTable pDt = ToDataTable(orders);
//new IsoDateTimeConverter { DateTimeFormat = "dd/MM/yyyy" });
var constr = ConnectionStringGoesHere

using (SqlConnection connection = new SqlConnection(constr))
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
{
connection.Open();
bulkCopy.DestinationTableName = tablename;
// How many records to send to the database in one go (all of them)
bulkCopy.BatchSize = 100000;
bulkCopy.BulkCopyTimeout = 999999999;

// Load the data to the database
bulkCopy.WriteToServer(pDt);

// Close up
bulkCopy.Close();
connection.Close();
}
}

4) public DataTable ToDataTable(IList items)
{
DataTable dataTable = new DataTable(typeof(T).Name);
//Get all the properties
PropertyInfo[] Props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (PropertyInfo prop in Props)
{
//Setting column names as Property names
dataTable.Columns.Add(prop.Name);
}
foreach (T item in items)
{
var values = new object[Props.Length];
for (int i = 0; i < Props.Length; i++)
{
//inserting property values to datatable rows
values[i] = Props[i].GetValue(item, null);
}
dataTable.Rows.Add(values);
}
//put a breakpoint here and check datatable
return dataTable;
}

Изображение

Изображение

Любые предложения будут очень полезны.
Я пытаюсь преобразовать список в таблицу данных, извлекая столбцы и значения из свойств списка.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ties-found
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»