Letzte 6 Zahlungen

Ich muss die letzten sechs Zahlungen aus einem Schema erhalten, das nur aus @ beste

Contribution Id DUE Date Amount

Die Zahlungen verteilen sich auf 7 Jahre und ich brauche nur die aktuellsten sechs Zahlungen. Ich dachte, dies würde es tun, da es meinem SQL folgt.

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 Version

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));

}

Aber es liefert nicht die gleichen Ergebnisse wie unten

Tut mir leid, Leute, ich brauche die Antwort in linq, ich brauche nein, das ist die richtige Art und Weise, es zu tun, ich bekomme weniger als erwartet

Edit 1 Dies ist die Abfrage, die ich bisher habe, aber ich erhalte immer noch nicht die gleichen Ergebnisse wie mein SQL-Skript

 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();

Edit 2
Um den Code anzuzeigen, den ich im Video gezeigt habe

    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();

    }      

Antworten auf die Frage(4)

Ihre Antwort auf die Frage