Я пытаюсь выполнить запрос LINQ для DataTable и показать результат в другой DataTable. Мой исходный DataTable выглядит примерно так:
DataTable myDataTable = new DataTable();
myDataTable.Columns.Add("OrderID", typeof(int));
myDataTable.Columns.Add("Date", typeof(DateTime));
myDataTable.Columns.Add("UnitsPurchased", typeof(int));
Полученный DataTable при заполнении выглядит следующим образом:
Order ID Date Units Purchased
16548 10/15/09 250
17984 11/03/09 512
20349 01/11/10 213
34872 01/15/10 175
Мой текущий запрос LINQ выглядит следующим образом:
IEnumerable<DataRow> query = (from row in myDataTable.AsEnumerable()
where row.UnitsPurchased > 200
select new
{
row.OrderID,
row.Date,
row.UnitsPurchased
}) as IEnumerable<DataRow>;
resultDataTable.DataSource = query.CopyToDataTable<DataRow>();
Каждый раз, когда я запускаю этот запрос кода, становится пустым. Я вижу, что виновником является as IEnumerable<DataRow>
, но он не делает этого, поскольку DataTable.AsEnumerable()
возвращает IEnumerable<DataRow>
. Любая помощь будет оценена.