workrolesusersdetailsQuery

workrolesusersdetailsQuery

在过滤后的var workrolesusersdetailsQuery中,我得到了三个int? id的列表。之后,在foreach循环中,我只是尝试删除ID不等于上述ID的所有对象。结果,它删除了所有对象。有趣的是,如果我将!=替换为==,则它可以正常工作。

我只是看不到我在做什么错,所以请有人可以帮忙吗?

var workrolesusersdetailsQuery = db.WorkRolesUsersDetails
            .Where(m => m.UserDetailsId == currentUserId && m.isActive == true)
            .Select(m => m.WorkRoleId).ToList();//select only thw workroleid column

        foreach (var wr in workrolesusersdetailsQuery)
        {
            var temp = wr;
            WorkRolesQuery.RemoveAll((x) => x.WorkRoleId != wr);

        }

最佳答案

如果没有Foreach,请使用此

WorkRolesQuery.RemoveAll((x) => !workrolesusersdetailsQuery.Contains(x.WorkRoleId));

10-06 12:04