我有一个使用linq删除查询下面的代码。但它感觉像一个很长的方法?有没有其他方法可以做到这一点?在LINQ中更短的删除查询
var ListOfData = (from a in db.Table1
join b in db.Table2 on a.Table1Id equals b.Table2Id
where a.Table1Id == (param) select a)
.ToList();
foreach(var item in ListOfData)
{
var DelRecord = (from a in db.Table1
join b in db.Table2 on a.Table1Id equals b.Table2Id
where a.Table1Id == item.TableId select a)
.FirstOrDefault();
db.Table1.DeleteObject(DelRecord);
db.SaveChanges();
}
为什么你没有创建适当的实体?如果它们是可连接的,那么可以在Entity对象中创建一个链接,以便引用Table1.table2.whatever。 – Worthy7
是否需要每次迭代保存更改? –
不应该在Code Review SE论坛上[移植]? –