我正在尝试完成下面的 LINQ 查询,但我需要一个“不等于”而不是等于,我想添加成员尚未加入的俱乐部列表,而不是 IDClub 等于 i.ID,我想要 IDClub“不等于” i.ID
int IdTvien = Convert.ToInt32(Session["UserId"]);
List<Member> memBer= db.memBer.ToList();
List<Club> Club = db.Club.ToList();
List<Member_Club> member_club= db.Member_Club.ToList();
var memBRecord= from e in member_club
join d in memBer on e.IDmemBer equals IdTvien into table1
from d in table1.ToList()
join i in clb on e.IDClub equals i.ID into table2
from i in table2.ToList()
select new ViewModel
{
Member_Club = e,
Member= d,
Club= i
};
UserClubs_ clubs = (from a in this.db.Users
join b in this.db.UserClub on a.UserNumber equals b.UserNumber into u_club
where a.UserNumber == 852
select new UserClubs_
{
assigned_clubs = (from r in this.db.ClubList
where u_club.Select(x => x.ClubId).Contains(r.Id)
select r).ToList(),
user = a,
not_assigned = (from r in this.db.ClubList
where !u_club.Select(x => x.ClubId).Contains(r.Id)
select r).ToList()
}).FirstOrDefault();
不太好,但你可以使用这样的东西
某堂课:
public class UserClubs_
{
public Users user { get; set; }
public List<ClubList> assigned_clubs { get; set; }
public List<ClubList> not_assigned { get; set; }
}
桌子:
CREATE TABLE [dbo].[UserClub] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[UserNumber] INT NOT NULL,
[ClubId] INT NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
CREATE TABLE [dbo].[ClubList] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[Name] NVARCHAR (50) NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);