Я новичок в LINQ, и я немного запутался в том, как писать IF ELSE в LINQ.Как написать LINQ с несколькими условиями
В настоящее время LINQ, что я создал это:
lstRecord = (from a in lstPerson
select new GeneralCommonFunctions.MemberDetailSumary
{
AgeGroupId = a.AgeGroup_id!=null? a.AgeGroup_id.Value: 0,
AgeGroupText = a.Agegroup!=null?a.Agegroup.Description: "",
}).ToList();
Теперь я хотел бы получить DOB из списка и рассчитать текущий возраст, основываясь на текущей дате, а затем классифицировать его в возрастной группы (текущая версия напрямую получает возрастную группу из базы данных).
Имеющаяся возрастная группа:
НИЖЕ 25 (идентификатор 1)
26-35 (ИД 2)
36-45 (идентификатор 3)
46-55 (идентификатор 4)
5 5 и выше (идентификатор 5)
Например, если член DOB является 1990-01-15, он принадлежит к 2. возрастной группе, если член DOB является 1970-12-20, он принадлежит 4. возрастная группа
Я stucked в этой кодировке:
lstRecord = (from a in lstPerson
select new GeneralCommonFunctions.MemberDetailSumary
{
Age = DateTimeUtility.GetCurrentAge(a.Dob),
//I dont know how to continue in this part, my idea is if the age is 0-25, the agegroup_id is 1, if the age is 30, the agegroup_id is 2.
}).ToList();
ли кто-нибудь из вас может мне помочь с этим? Спасибо !
UPDATE:
У меня есть идея обновить все строки с помощью LINQ, когда кнопка нажата. Например, пользователь нажимает кнопку, затем система проверяет каждого пользователя DOB, а затем обновляет свою возрастную группу в базе данных.
Например, если человек А DOB является 1990-01-01, его/ее возрастная группа будет автоматически обновляться до 2, если человек B DOB является 1970-05-15, его/ее возрастная группа обновит до 4.
Как написать linq для обновления всех строк в базе данных? Благодарим за помощь!
Ну я бы не попробовать написать все, что логика с вложенными условными операторами. Просто напишите метод, который вычисляет, что возраст проверяет группу, в которой он находится, и возвращает соответствующий идентификатор. – juharr
Вам лучше просто добавить вычисляемый столбец в своей базе данных: https://technet.microsoft.com/en-us/library/ms191250(v=sql.105).aspx – MarcinJuraszek