Представьте меня есть база данных с одной или нескольких таблиц с большим количеством одного индексов с одним или несколькими столбцами ...Как создать словарь словарей ...?
Я хочу, чтобы создать и залить в Dictionary<string, Dictionary<string, List<string>>>
, так что я могу получить все индексы определенной таблицы или все столбцы определенной комбинации таблицы и индекса.
Здесь кортежей с помощью таблицы, индекса и имена столбцов (данные выборки)
List<Tuple<string, string, string>> tuples = new List<Tuple<string, string, string>>();
tuples.Add(Tuple.Create("T1", "I1", "C1"));
tuples.Add(Tuple.Create("T1", "I1", "C2"));
tuples.Add(Tuple.Create("T1", "I1", "C3"));
tuples.Add(Tuple.Create("T1", "I2", "C1"));
tuples.Add(Tuple.Create("T2", "I1", "C1"));
tuples.Add(Tuple.Create("T3", "I1", "C1"));
tuples.Add(Tuple.Create("T3", "I1", "C2"));
tuples.Add(Tuple.Create("T3", "I2", "C1"));
tuples.Add(Tuple.Create("T3", "I2", "C2"));
tuples.Add(Tuple.Create("T3", "I2", "C3"));
Лучшее, что я мог придумать это:
Dictionary<string, Dictionary<string, List<string>>> perTI = new Dictionary<string, Dictionary<string, List<string>>>();
foreach (var group in tuples.GroupBy(x => Tuple.Create(x.Item1, x.Item2)))
{
perTI[group.Key.Item1] = new Dictionary<string, List<string>>(){ { group.Key.Item2, group.Select(g => g.Item3).ToList() } };
}
Кто-нибудь знает, как это сделать с 1 заявлением LINQ?
Если это работает я не понимаю, почему вам нужно улучшить. В любом случае это вне темы. –
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он принадлежит http://codereview.stackexchange.com/ –
Какой тип "linq"? LINQ to XML? –