我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谢谢,调整我的问题 –