我struggeling一點與嘗試寫LINQ查詢做到以下幾點,LINQ字典非重複值
public class MyClass
{
public int ID {get; set;}
public int Name {get; set;}
public IEnumerable<string> SomeIEnumerable {get; set;}
}
我試圖創建一個使用LINQ從數據庫查詢將返回什麼對象如下,
ID Name SomeString
0 NameA "MyValue"
1 NameB "Value1"
1 NameB "Value2"
2 NameC "Value"
的LINQ是很容易寫爲好,
from DataRow row in dataSet.Tables[0].Rows
select new MyClass
{
ID = (int)row["ID"],
Name = row["Name"].ToString(),
SomeIEnumerable = new List<string>{ row["SomeString"].ToString() }
};
棘手一部分是我怎麼變成一個字典,其中 辭典[1] .SomeIEnumerable = {「值1」,「值2」}
一個簡單的ToDictionary將在這裏拋出ArgumentException
的主要問題,是如何我是否處理了關鍵字不明確的事實,並且能夠在臨時字典中查找現有值,以便將它添加到我感興趣的值中。
鍵需要不同,因爲您可以通過id僅選擇不同的行。 –
你的「非常容易」的LINQ將無法工作,因爲Add()返回void。但是像'新列表 {(字符串)行[「SomeString」]}'會。 –
svick
@svick謝謝,調整我的問題 –