Я пытаюсь выполнить запрос LINQ в DataTable и показать результат в другом DataTable. Мой источник DataTable выглядит примерно так:LINQ Query to DataTable.DataSource
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>
. Любая помощь будет оценена по достоинству.
-1 - Это не "просто"; это ** ужасный ** kludge! Как вы можете подтолкнуть этот взлом к ничего не подозревающему программисту? –