Вам необходимо проверить, существует ли более одной буквы одного типа, и один из способов сделать это - сгруппировать по LetterType
и проверить .Count()
для каждого из результатов:
partial void DateSent_Validate(EntityValidationResultsBuilder results)
{
if (this.PatientsMasterItem.LettersSentItem.GroupBy(i => i.LetterType).Any(l => l.Count() > 1))
{
results.AddPropertyError("Can't print more than one letter of the same type per patient");
}
}
.Distinct(x)
не собирается работать. letters.Distinct(x)
выбирает все отдельные буквы (позволяя x
решить, какие из них равны), но если вы отбросите какие-либо буквы с помощью Distinct()
, у вас больше не будет информации, которую вам нужно посчитать.