2012-04-05 2 views
0

Si j'ai les tables/entités suivantes:C# Entity Framework - LINQ to requête entité sous-requête

facture
- InvoiceID (PK)
- InvoiceAmount

InvoicePayment
- InvoicePaymentId (PK)
- InvoiceID (FK)
- PaymentAmount

Comment puis-je construire un Linq à E requête de TVA qui sélectionne les factures avec un montant dû - en gardant à l'esprit que l'existence d'un paiement n'indique pas que la facture n'a pas de montant en circulation (c.-à-d. paiement partiel possible).

Répondre

1

Je pencherais pour quelque chose le long des lignes de ce

from i in invoices 
where i.Payments.Sum(p=>p.PaymentAmount) < i.InvoiceAmount 
select i; 
+0

Merci @Luke McGregor, je postulais trop pensé à elle et d'essayer de quelque chose avec .Tout() qui n'est pas nécessaire. – Rob

+0

Nah vous voulez certainement une somme ici, Vous pouvez faire la même chose que cela en syntaxe complète mais je pense qu'il semble lisible comme il est –

Questions connexes