日付を選択すると、その日に予約を行ったユーザーの名前を表示したいが、最後の予約を行ったユーザーのみが表示されます。これをどうすれば解決できますか?私の意見ではここFirstorDefaultでC#Linq
私のコード
foreach (Reservation i in con.Reservations)
{
var user = con.Users.Where(se => se.id == i.user_id).FirstOrDefault();
if (i.date == date && i.hour == label4.Text)
{
label4.Text = user.Name + " " + user.Surname;
}
else
{
label4.Text = "17:00 - 18:00";
}
if (i.date == date && i.hour == label5.Text)
{
label5.Text = user.Name + " " + user.Surname;
}
else
{
label5.Text = "16:00 - 17:00";
}
if (i.date == date && i.hour == label6.Text)
{
label6.Text = user.Name + " " + user.Surname;
}
else
{
label6.Text = "18:00 - 19:00";
}
if (i.date == date && i.hour == label7.Text)
{
label7.Text = user.Name + " " + user.Surname;
}
else {
label7.Text = "19:00 - 20:00";
}
}
FirstOrDefault明示的に1つのみを要求します。 '.FirstOrDefault()'を削除し、コードを更新して、1つではなく多くの行を処理します。 – Rob
.FirstOrDefault()を削除したときにエラーが発生しました。 私はこのように使用することはできません - > user.Name – oEs
はい、それは正しい - 'あなたのコードを更新して、1つではなく多くの行を処理する'の一部です。これで、ユーザーのリストが作成されました。リスト内の各ユーザーを印刷するコードを記述します。たとえば、名前をカンマで区切ることができます: 'var userNames = string.Join("、 "users.Select(u => u.Name +" "+ u.Surname))' – Rob