Ich habe eine Liste von Sitzungen, in denen ich eine andere Liste von Teilnehmern habe.LINQ "Where" Bedingung -> Wert der Eigenschaft ändern
Modell ähnlich wie diese -
public class Meeting
{
public string Id { get; set; }
public string Title { get; set; }
public List<User> Users { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
}
Ich habe Liste der Meeting
List<Meeting> meetings = GetMeetings();
Jetzt möchte ich die Title
der Sitzungen maskieren, wo einer der Benutzer [email protected]
ist. Ich kann dies in mehreren LINQ-Abfragen erreichen, aber ich bin auf der Suche nach einer optimierten LINQ-Abfrage.
Kann mir jemand dabei helfen?
Was ich versuchte -
var maskedMeetings = meetings.Where(x = x.Users.Any(a => a.Email.Equals("[email protected]")));
meetings = appointments.Except(maskedMeetings).ToList();
maskedMeetings = maskedMeetings.Select(x => { x.Title = "Bot"; return x; }).ToList();
meetings = meetings.Concat(maskedMeetings).ToList();
Kann mir jemand mit optimiertem Art und Weise helfen, diese Abfrage zu schreiben?
Rahul.
signifikant unterschiedlich sein Was ist suboptimal über das, was Sie haben? – CodingGorilla
Definieren Sie "optimiert". Vier klare, prägnante Zeilen des Arbeitscodes zu einer langen Kette zu ändern, ist meiner Meinung nach nicht "optimiert". –
Nun, ich stimme zu, @DStanley Ich bin nicht vertraut mit Leistungsoptimierungen für LINQ Daher habe ich die Frage gestellt :-) –