2011-09-12 89 views
0

我有一个关于如何在LINQ查询中做到这一点的快速问题。我在执行时遇到了问题,主要是因为我仍然在学习LINQ,所以我希望你们能指引我朝着正确的方向发展。LINQ查询获得正确的数据

基本上我有一个表像下面

Number Character Key 
1  a   value & 2 
1  a   value & 2 
1  b   value & 1 
2  a   value & 3 
3  b   value & 4 
3  a   value & 5 
4  a   value & 7 
4  a   value & 7 
4  b   value & 8 
4  b   value & 9 

我想写一个LINQ查询,通过数列第一组,那么结果中,再由字符列组,然后检查内如果键列中的值与二者匹配,则会导致该结果。

我希望我的语言不会让人困惑。

谢谢

编辑:

我使用的是从Excel文件生成一个列表。

  List<Data> bdt = getData.dataGet(exp); 
      var result = from s in bdt 

输出我想是

Number Character Key 
1  a   value & 2 
1  a   value & 2 
4  a   value & 7 
4  a   value & 7 

感谢您的建议,我会铭记在心的下一次

+1

只要将文本放入问题中,请不要包含图片,以便大家更容易阅读... –

+0

对不起,我是新手,因此我不知道如何正确格式化表。我开始使用 – Pradeep

+0

你在使用什么表类,以及你想要输出什么? (一个例子会很好..) – erikH

回答

2

这应该做的伎俩:

var q = 
    from item in bdt 
    group item by new { item.Number, item.Character, item.Key } into g 
    where g.Count() > 1 
    select g.Key; 

诀窍是在多列上单个group by :-)

+0

谢谢你的帮助。欣赏答案 – Pradeep

+0

@Predeep:如果这回答你的问题,不要忘记标记为答案:-) – Steven