Последние 6 платежей
Мне нужно получить последние шесть платежей из схемы, которая состоит только из
Вклад Id DUE Дата Сумма
Платежи распространяются на 7 лет, и мне нужно получить последние последние шесть платежей, только я думал, что это сделает это, как это следует из моего sql
SELECT TOP 6 [ID]
,[customerInfo]
,[IVACODE]
,[Contribution]
,[DUE_DATE]
,[isActive]
,[isDeleted]
FROM [portal].[dbo].[tblPortalContributionSchedule]
where customerInfo='01F6B68B-6FC2-4F9D-B586-6934B8D6C979'
and DUE_DATE <='2016/09/26'
ORDER BY DUE_DATE DESC
Версия Linq
List<tblPortalContributionSchedule> _contributions
= portalEntities.tblPortalContributionSchedules
.Where(a => a.customerInfo == _customerId
&& a.isDeleted == false
&& a.DUE_DATE <=Convert.ToDateTime("2016/09/26"))
.Take(6)
.OrderByDescending(o => o.DUE_DATE)
.ToList();
foreach (var contribution in _contributions)
{
AllPayments.Add(new Payments(contribution.ID, Convert.ToDecimal(contribution.Contribution), Convert.ToDateTime(contribution.DUE_DATE), false));
}
Но это не дает такие же результаты, как показано ниже
Извините люди, мне нужен ответ в linq, мне нужно нет, это то, что правильный способ сделать это я получаю меньше, чем ожидалось
Редактировать 1 Это запрос, который у меня до сих пор, но я все еще не получаю те же результаты, что и мой сценарий SQL
List<tblPortalContributionSchedule> _contributions =
portalEntities.tblPortalContributionSchedules.Where(a => a.customerInfo ==
_customerId && a.isDeleted == false && a.DUE_DATE
<=Convert.ToDateTime("2016/09/26")).OrderByDescending(o =>
o.DUE_DATE).Take(6).ToList();
Редактировать 2
Чтобы показать код, который я показал в видео
public List<Payments> getAllPayments(Guid _customerId)
{
List<Payments> AllPayments = new List<Payments>();
List<tblPortalPayment> _payments = portalEntities.tblPortalPayments.Where(a => a.CustomerId == _customerId && a.isDeleted == false).ToList();
foreach (var payment in _payments)
{
AllPayments.Add(new Payments(payment.id, Convert.ToDecimal(payment.paymentDue), Convert.ToDateTime(payment.paymentDate), Convert.ToBoolean(payment.isinArrears)));
}
List<tblPortalContributionSchedule> _contributions = portalEntities.tblPortalContributionSchedules.Where(a => a.customerInfo == _customerId && a.isDeleted == false && a.DUE_DATE<= Convert.ToDateTime("2016/09/26")).OrderByDescending(o => o.DUE_DATE).Take(6).ToList();
foreach (var contribution in _contributions)
{
AllPayments.Add(new Payments(contribution.ID, Convert.ToDecimal(contribution.Contribution), Convert.ToDateTime(contribution.DUE_DATE), false));
}
var result = AllPayments.OrderByDescending(o => o.paymentDate).ToList();
return AllPayments.OrderByDescending(o => o.paymentDate).ToList();
}