我搞不懂如何将以下两个for循环更改为一个LINQ语句. 有谁能帮帮我吗?
var CleanerAccounts = new List<Account>();
var array = _context.Accounts.Include(x => x.UserFunctions).ToArray();
for (int i= 0; i < array.Length; i++)
{
foreach(Function f in array[i].UserFunctions)
{
if(f.UserFunction.Equals("Cleaner"))
{
CleanerAccounts.Add(array[i]);
break;
}
}
}
LINQ声明的工作版本:
var cleanerAccounts = _context.Accounts
.Include(x => x.UserFunctions)
.Where(account => account.UserFunctions
.Any(uf => uf.UserFunction.Equals("Cleaner")))
.ToArray();