4

我有一张这样的桌子:

Id              int      Not Null  PK Unique
RequestNO       int      Not Null   
RefrenceId      int      Null                  //Self Join to Id

如果我在此表中有这些记录:

Id   RequestNO    RefrenceId      
1       H100         NULL
2       H101         NULL
3       H101          2
4       H101          3
5       H100          1
6       H105         NULL

根据这些记录,我想返回 Id 在 { 4 ,5 , 6 } 中的列表。我想选择最后一个孩子(如果任何父母没有孩子,它本身就是孩子)。有没有人可以帮助我解决这个问题?!

我正在使用 EF 4 (Database First) ,表名是Requests

UPDATE1:我试试这个,但它失败了。

var list = DataContext.Requests.GroupBy(rec => new { rec.ConfirmNo }).Select(rec => rec.FirstOrDefault());

如果您需要更多详细信息,请评论我。谢谢阿里·福鲁吉

4

1 回答 1

1

你可以试试这个:

var list = DataContext.Requests.Where(op => !DataContext.Requests.Any(ip => ip.RefrenceId == ip.Id));
于 2012-12-16T09:07:22.483 回答