Я столкнулся с одной проблемой: я использую LINQ, чтобы получить первые 5 записей с использованием метода Take, но если список пуст, то его исключение выдает следующее:
Невозможно привести тип'System.Nullable`1 [[System.Int64, mscorlib, версия = 4.0.0.0, культура = нейтральный, PublicKeyToken = b77a5c561934e089]]' для ввода 'System.Object'.LINQ to Entities поддерживает приведение только типов примитивов и перечислений EDM.
Поэтому, пожалуйста, сообщите мне, как я могу решить эту проблему.
Ниже приведен пример кода
openTickets_Result = (from tic in db.Tickets1
join com in db.Company on tic.company_id equals com.id
join bra in db.Branch on tic.branch_id equals bra.id
join use in db.Users on tic.assinged_to equals use.Id
where companyIds.Any(x => x.Equals((long)tic.company_id))
&& branchIds.Any(x => x.Equals(tic.branch_id))
&& tic.status == "Open"
&& tic.priority == "High"
select new Details {
Assinged_To = use.FullName,
Company_Name = com.name,
Branch_Name = bra.branch_name,
ticketName=tic.Name
}).OrderBy(x => x.Create_Date).Take(5).ToList();
Метод Take дает исключение, если список когда-нибудь равен empty/null
.