Reputation: 2295
I think I am putting my question correctly :)
I am querying the database using LINQ to retrieve some data. Please find the code below.
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
}
}
As I mentioned in the comments, I need to remove items from the leadtasktype based on my if
condition. How do I do this?
Upvotes: 4
Views: 4619
Reputation: 1919
var leadtasktype = _context.LeadTypeTaskTypes
.Where(l => l.LeadTypeId == item.Value
&& l.TaskTypeId != 21); // Exclude ID = 21.
Upvotes: 2
Reputation: 1633
Is it this what you want ?
var leadtasktype = _context.LeadTypeTaskTypes.RemoveAll
(l => l.LeadTypeId == item.Value && l.LeadTypeId == 21);
Upvotes: 2
Reputation: 560
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);
}
}
Upvotes: 1
Reputation: 24385
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);
}
}
Upvotes: 1
Reputation: 1888
var leadtasktype = _context.LeadTypeTaskTypes.Where(l => l.LeadTypeId == item.Value && l.LeadTypeId != 21);
Upvotes: 3
Reputation: 23300
Just leave them out of your set:
var leadtasktype = _context.LeadTypeTaskTypes
.Where(l =>
l.leadTypeId != 21 &&
l.LeadTypeId == item.Value
);
Upvotes: 3
Reputation: 39615
This would seem very like another filter condition:
var leadtasktype = _context.LeadTypeTaskTypes
.Where(l => l.LeadTypeId == item.Value)
.Where(l => l.TaskTypeId != 21); // Exclude ID = 21.
Upvotes: 5