0

テーブルUser(ID、Name ....)、Projects(ID、Name、Timestamps、IsFavorite ...)、Projects_Favoite(UserID、ProjectID)があります

現在のユーザーの行があるかどうか、各プロジェクトをチェックしようとします。プロジェクトの「IsFavorite」をtrueに設定したい行がある場合は、falseに設定します。

私は結びました:

 for(int i = 0; i <= erg.Count();i++)
 {
     if (erg.ElementAt(i).User11.Any(u => u.Guid == ID) == true) 
         erg.ElementAt(i).SetFavorite = true; 
 }

ただし、SQLに変換できないため、ElementAtを使用する方法はありません。だから私は試しました:

 for(int i = 0; i <= erg.Count();i++)
 {
     if (erg.Take(i).Last().User11.Any(u => u.Guid == ID) == true)
         erg.Take(i).Last().SetFavorite = true; 
 }

ここで同じ問題があるので、私は試しました:

foreach (Project project in erg)
{
     if (project.User11.Any(u => u.Guid == ID))
          project.SetFavorite = true;
}

同じ問題があります。ElementAtを実現する方法はありますか?

4

2 に答える 2

0

あなたはできるはずです:

foreach (Project project in erg.Where(p => p.User11.Any(u => u.Guid == ID))
                               .ToList())
    project.SetFavorite = true;
}
于 2013-03-13T15:37:16.157 に答える