我有一個SQL PROC返回結果這樣如何從字典和組列表中提取值並使用Linq轉換爲單個字典?
GroupId PersonId
1 2
1 3
2 4
2 6
這是我短小精悍查詢調用存儲過程
List<IDictionary<string, object>> result = (dbconnection.Query("MyStoredProcName", null,
commandType: CommandType.StoredProcedure, commandTimeout: 0)
as IEnumerable<IDictionary<string, object>>).ToList();
我想這 var selectManyResult = result.SelectMany(r => r.ToDictionary(d => d.Key, d => (int)d.Value));
但似乎是錯誤的。
更新: 爲了澄清,我從小型SQL查詢結果看起來像這樣,我不能改變這一點。
IEnumerable<IDictionary<string, object>>
所需的結果:
利用這個結果和LINQ,我需要Dictionary<int,List<int>>
,其中關鍵是GroupId的結束了,表是該組中personsid的列表。但我不知道如何去做。所以,我的最終結果字典將這個樣子
Key Value
1 2,3
2 4,6
任何幫助,不勝感激 感謝
你的結果是列表的'格式>'但是你的數據更適合'List >'的結構 - 你能解釋一下你的額外水平嗎?它在返回的數據中如何表示? –
謝謝,我用我的格式更新了問題 – LePrinceDeDhump
感謝您的更新。然而,我仍然不明白這是如何符合你描述的數據,你回來形成的過程 - 在問題的開始。 –