我想我正确地提出了我的问题:)
我使用LINQ查询数据库以检索一些数据。请找到以下代码。
var leadtasktype = _context.LeadTypeTaskTypes.Where(l => l.LeadTypeId == item.Value);
foreach(LeadTypeTaskType l in leadtasktype){
if (l.TaskTypeId == 21)
{
//I need to remove an item which has the tasktype id 21
}
}
正如我在评论中提到的,我需要根据if
条件从leadtasktype中删除项目。我该怎么做?
答案 0 :(得分:5)
这看起来非常像另一个过滤条件:
var leadtasktype = _context.LeadTypeTaskTypes
.Where(l => l.LeadTypeId == item.Value)
.Where(l => l.TaskTypeId != 21); // Exclude ID = 21.
答案 1 :(得分:3)
将它们从你的套装中删除:
var leadtasktype = _context.LeadTypeTaskTypes
.Where(l =>
l.leadTypeId != 21 &&
l.LeadTypeId == item.Value
);
答案 2 :(得分:2)
var leadtasktype = _context.LeadTypeTaskTypes.Where(l => l.LeadTypeId == item.Value && l.LeadTypeId != 21);
答案 3 :(得分:2)
var leadtasktype = _context.LeadTypeTaskTypes
.Where(l => l.LeadTypeId == item.Value
&& l.TaskTypeId != 21); // Exclude ID = 21.
答案 4 :(得分:2)
这是你想要的吗?
var leadtasktype = _context.LeadTypeTaskTypes.RemoveAll
(l => l.LeadTypeId == item.Value && l.LeadTypeId == 21);
答案 5 :(得分:1)
var leadtasktype = _context.LeadTypeTaskTypes.Where(l => l.LeadTypeId == item.Value);
var newData = leadtasktype;
foreach(LeadTypeTaskType l in leadtasktype){
if (l.TaskTypeId == 21)
{
newData.Remove(l);
}
}
答案 6 :(得分:1)
var leadtasktype = _context.LeadTypeTaskTypes.Where(l => l.LeadTypeId == item.Value);
for (var i = 0; i < leadtasktype.Count; i++)
{
if (leadtasktype[i].TaskTypeId == 21)
{
leadtasktype.RemoveAt(i);
}
}