Я пытаюсь создать динамическую группировку для LINQ, и я просто не понимаю правильный синтаксис. Любая помощь будет принята с благодарностью. Вот мой статический код LINQ;
var query =
from x in myCollection
group x by x.Field1 into g
select new myClass
{
/// <summary>
/// Group logic removed
/// </summary>
};
Спасибо
edit:
Я видел несколько примеров, но, похоже, я недостаточно умен, чтобы понять это. Также я только что понял, что никогда не говорил, что myCollection
является ObservableCollection. Это то, что я пытался сделать в приведенном выше запросе;
var group = myCollection.GroupBy(
"new(it[\"Field1\"] as Field1,it[\"Field2\"]as Field2)", "it"
)
.Select(x =>
new myClass {
Net = x.Sum(y => y.Net),
Field1 = x.First().Field1,
Field2 = x.First().Field2,
} );
Это возвращает ошибку;
The type arguments for method 'System.Linq.Enumerable.GroupBy<TSource,TKey>(System.Collections.Generic.IEnumerable<TSource>, System.Func<TSource,TKey>, System.Collections.Generic.IEqualityComparer<TKey>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
it.Field1"
и т. д. - person Gert Arnold   schedule 17.12.2014"new(it.Field1, it.Field2", "it"
возвращает ту же ошибку - person Xaphann   schedule 17.12.2014