У меня есть следующий цикл foreach
:Как выполнить этот вид работы с LINQ?
List<WorkingJournal> workingJournals = new List<WorkingJournal>();
foreach (WorkRoster workRoster in workRosters)
{
bool exists = workingJournals.Any(workingJournal => workingJournal.ServicePlan.Id == workRoster.ServicePlan.Id
&& workingJournal.Nurse.Id == workRoster.Nurse.Id
&& workingJournal.Month == workRoster.Start.Month
&& workingJournal.Year == workRoster.Start.Year);
if (exists == false)
{
WorkingJournal workingJournal = new WorkingJournal
{
ServicePlan = workRoster.ServicePlan,
Nurse = workRoster.Nurse,
Month = workRoster.Start.Month,
Year = workRoster.Start.Year
};
workingJournals.Add(workingJournal);
}
}
Я начал писать:
from workRoster in workRosters
select new WorkingJournal
{
ServicePlan = workRoster.ServicePlan,
Nurse = workRoster.Nurse,
Month = workRoster.Start.Month,
Year = workRoster.Start.Year
};
Но теперь я застрял со сравнением, которое производит различные WorkingJournals.
У меня такое чувство, что здесь должно быть предложение group by, но я не уверен, как это сделать.
Поместите все это в скобки, затем выполните '.Distinct()'. –
Является ли это Linq для Sql или Linq для объектов? – Joe
Linq к объектам. –