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();
Phương pháp này, GetAttendanceListOf(q._RollNumber)
trong mã trên sẽ trả về một danh sách các bản ghi từ cơ sở dữ liệu hoặc "null" nếu không có hồ sơ hiện tại cho qua "roll-không". Truy vấn LINQ sẽ bị chấm dứt tạo lỗiLàm thế nào để xử lý các giá trị null trong LINQ?
"Giá trị không thể rỗng".
Có cách nào để xử lý lỗi này và chuyển LINQ sang bước tiếp theo không?
Có lẽ bạn chỉ có thể sử dụng 'Where (q => q! = Null) ', để lọc ra các giá trị rỗng? –
Hoặc, nó là "Danh sách những thứ hoặc null", bạn có thể sử dụng một cái gì đó như 'Chọn (l => l == null? Iterable.Empty: l)' –
Nếu bạn có thể, chỉ cần sửa đổi 'GetAttendanceListOf' để trả về sản phẩm nào liệt kê nếu không tìm thấy gì cho 'roll-no' đã cho. – pfyod