recordsList.ListOfRecords = new StudentRecordsBAL()
.GetStudentsList()
.Select(q => new StudentRecords()
{
_RollNumber = q._RollNumber,
_Class = q._Class,
_Name = q._Name,
_Address = q._Address,
_City = q._City,
_State = q._State,
_Subjects = q._Subject,
_AttendedDays = new AttendanceBAL()
.GetAttendanceListOf(q._RollNumber)
.Where(date => date != null)
.Select(date =>
new DateTime(date._Date.Year, date._Date.Month, date._Date.Day))
.Distinct()
.ToList(),
_AttendedSubjects = GetAttendedSubjects(q._RollNumber)
}).ToList();
Метод, GetAttendanceListOf(q._RollNumber)
в коде выше будет возвращать список записей из базы данных или «нулевой», если нет записи, присутствующей на пройденном «рулонной-нет». Запрос linq будет прерван при генерации ошибкиКак обрабатывать нулевые значения в linq?
«Значение не может быть пустым».
Есть ли способ справиться с этой ошибкой и сделать переход LINQ к следующему шагу?
Возможно, вы можете просто использовать 'Where (q => q! = Null)', чтобы отфильтровать нули? –
Или это «Список вещей или нуль», вы можете использовать что-то вроде 'Select (l => l == null? Iterable.Empty: l)' –
Если вы можете, просто измените 'GetAttendanceListOf', чтобы вернуть пустое если ничего не найдено для данного «roll-no». – pfyod