在过滤后的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));