Linq查询不在操作符

本文关键字:操作符 查询 Linq | 更新日期: 2023-09-27 18:08:20

我有一个sql查询。我需要一个linq查询。

select rightname 
from IB_Right_Master 
where id not in (select RightID from IB_Group_Rights where GroupID = '3');
表:RightMaster
ID   |   RightName   |  RightGroupName       |
----------------------------------------------
1    |    Test       |   Add Group Users     |
2    |  Add Group    |   Page Access rights  |
3    |  Page Access  |   Group deletion      |
3    |  Delete Group |   Group deletion      | 
----------------------------------------------

Table: Group Rights

ID   |   RightID    |      GroupID         |      Status   |
------------------------------------------------------------
1    |    1         |        1             |      True     |
2    |    1         |        2             |      True     |
3    |    2         |        3             |      True     |
4    |    3         |        4             |      True     |
5    |    1         |        3             |      True     |
------------------------------------------------------------

Linq查询不在操作符

试试这个

var data = (from m in db.IB_Right_Master                
           where m.Id != 1
           select m.RightName).ToList();

你可以试试这个

var result = from m in db.IB_Right_Master                
             where IB_Group_Rights.Any(r => r.RightID != 1 && r.RightID == m.Id)
             select m.RightName

试试这个

var lst = IB_Right_Master.Where(x => !IB_Group_Rights.Any(y => x.id==y.RightID && y.id==1))
                         .Select(x => x.rightname).ToList();