我有清洁剂清单(linq类)我试图删除'清洁剂,如果他们未经证实。这是我的代码。
List<ConfirmCleaner> Unconfirmed = context.ConfirmCleaners.Where(d => d.confirmed == false).ToList();
List<Cleaner> Cleaners = context.Cleaners.ToList();
List<Cleaner> TempCleaners = new List<Cleaner>();
foreach (var c in Unconfirmed)
{
foreach(var r in Cleaners){
if(c.cleanerId == r.id){
TempCleaners.Add(r);
}
}
}
List<Cleaner> result = Cleaners().Except(TempCleaners()).ToList();
return result;
为什么我收到错误:
&#39;清洁剂&#39;是一个变量&#39;但是像一种方法一样使用&#39;
答案 0 :(得分:4)
问题在于这一行:
List<Cleaner> result = Cleaners().Except(TempCleaners()).ToList();
您需要将其更改为:
List<Cleaner> result = Cleaners.Except(TempCleaners).ToList();
答案 1 :(得分:1)
希望错误消息足够明确以确定问题,无论如何,您已将Cleaner
声明为Cleaners().
的列表,并且当您在最终查询中使用该变量时,您正在使用与 return Cleaners.Except(TempCleaners()).ToList();
相同,当您像这样使用时,编译器需要一个方法,这也是编译器在错误消息中指定的方法。所以代码应该是:
error_message