Я использую Dyanmic LINQ из примеров кода VS2010, поскольку я пытаюсь создать выражение LINQ для группового ввода.Я хочу предоставить пользователю возможность выбирать во время выполнения свойства для группировки по / по, а также период группировки (год, квартал, месяц).Из-за этого я решил перейти на Dynamic LINQ.
Вот пример моих данных:
ID |Доход |OrDate |1 |900000 |1-1-2000 |2 |180000 |1-9-2000 |3 |300000 |3-2-2002 |4 |100000 |2-7-2003 |
и построенное мной выражение выглядит следующим образом:
dataSource.GroupBy("new (OrDate.Year as Year, OrDate as Month)", "Income").Select("new (Key.Year, Key.Month, Sum(Value) as Income)");
Это работает ТОЛЬКО ТОЛЬКО Я знаю точный тип списка;например: List<Product>
или List<Order>
.Моя проблема заключается в том, что тип источника данных во время компиляции является List<object>
.Из-за этого, когда я заполняю список Заказами или Продуктами, я получаю исключение:
No generic method 'GroupBy' on type 'System.Linq.Queryable' is compatible with the supplied type arguments and arguments. No type arguments should be provided if the method is non-generic.
Может кто-нибудь сказать мне, как этого можно избежать, и при этом сохранить список источников как List<object>
?