Вход на сайт
Эквивалент Access SQL Transform используя LINQ.
489 просмотров
Перейти к просмотру всей ветки
в ответ Срыв покровов 11.10.19 11:59
Хорошо, Но не пойдет.
В том смысле, что Я имею желание получить из Pivot() корректные данные.
А пользованный Пивот был такой:
public static Dictionary<TKey1, Dictionary<TKey2, TValue>> Pivot3<TSource, TKey1, TKey2, TValue>( this IEnumerable<TSource> source , Func<TSource, TKey1> key1Selector , Func<TSource, TKey2> key2Selector , Func<IEnumerable<TSource>, TValue> aggregate) { return source.GroupBy(key1Selector).Select( x => new { X = x.Key, Y = source.GroupBy(key2Selector).Select( z => new { Z = z.Key, V = aggregate(from item in source where key1Selector(item).Equals(x.Key) && key2Selector(item).Equals(z.Key) select item ) } ).ToDictionary(e => e.Z, o => o.V) } ).ToDictionary(e => e.X, o => o.Y); }