问题 - 如何从LINQ中删除某些记录,就像我有一些记录,我希望它们从我的LINQ中删除。
场景 - 我有表10有10条记录,表B有2条记录我要删除属于B的记录,要从A中删除[使用linq] - 我在q中有所有记录,我想删除p中的记录。
var p = from c in q
join dr in dc.TableData on c.Id equals dr.CaseId
select new View()
{
ActiveCaseId = c.ActiveCaseId,
Id = c.Id
};
q = q.Except(p);
答案 0 :(得分:1)
您显示的Except
无法执行此操作,因为p
和q
是不同的类型。但它也有点笨拙。
您可以在一个查询中执行此操作:
var p = from c in q
where !dc.TableData.Any(dr => dr.CaseId == c.Id)
select new View()
{
ActiveCaseId = c.ActiveCaseId,
Id = c.Id
};