我不想根据预测表达式删除所有销售
IQueryable<Sale> sales = entites.Sales.Where<Sale>(s => s.EmployeeId == check.EmployeeId);
foreach (Sale sale in sales)
entites.Sales.DeleteObject(sale);
我正在寻找一个可以在一行代码中执行此操作的lambda。 选择和删除。
答案 0 :(得分:2)
讽刺版:
IQueryable<Sale> sales = entites.Sales.Where<Sale>(s => s.EmployeeId == check.EmployeeId); foreach (Sale sale in sales) entites.Sales.DeleteObject(sale);
另一个版本:
var sales = entites.Sales.Where<Sale>(s => s.EmployeeId == check.EmployeeId).ToList().ForEach(entites.Sales.DeleteObject);
答案 1 :(得分:1)
我认为System.Linq.Enumerable中没有针对ForEach的内置扩展方法。您可以轻松创建自己的:
public static IEnumerable<T> ForEach<T>(this IEnumerable<T> sequence, Action<T> action)
{
foreach (T element in sequence)
{
action(element);
yield return element;
}
}