加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 在EF中的自联接表中选择Last Childs

发布时间:2020-12-16 09:38:08 所属栏目:asp.Net 来源:网络整理
导读:我有这样一张桌子: Id int Not Null PK UniqueRequestNO int Not Null RefrenceId int Null //Self Join to Id 如果我在此表中有这些记录: Id RequestNO RefrenceId 1 H100 NULL2 H101 NULL3 H101 24 H101 35 H100 16 H105 NULL 根据这些记录,我想返回一个
我有这样一张桌子:

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(数据库优先),表名是Requests

UPDATE1:我试试这个,但失败了.

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

如果您需要更多细节,请评论我.
谢谢
阿里福罗伊

解决方法

你可以试试这个:

var list = DataContext.Requests.Where(op => !DataContext.Requests.Any(ip => ip.RefrenceId == ip.Id));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读