Je suis en train de faire un bogue pour répliquer une requête SQL dans LINQ. Quelqu'un peut-il aider?Conversion d'une requête SQL avec un groupe en une requête LINQ
SQL:
SELECT tblInvoice.lngID AS InvoiceID,
tblInvoice.dtTimeStamp AS InvoiceDate,
tblInvoice.strReference,
tblInvoice.fltTotalValue,
max(Project.ProjectID) AS ProjectID,
max(Project.ProjectName) AS ProjectName,
max(Project.Location) AS ProjectLocation
FROM tblInvoice INNER JOIN
tblInvoiceLine ON tblInvoice.lngID = tblInvoiceLine.lngInvoiceID
WHERE (tblInvoice.intStatus != 0)
AND (tblInvoice.lngPersonID = @PersonID)
GROUP BY tblInvoice.lngID, tblInvoice.dtTimeStamp, strReference, fltTotalValue
ORDER BY tblInvoice.lngID DESC
LINQ jusqu'à présent:
var invoices = from inv in db.TblInvoices
join invLine in db.TblInvoiceLines on inv.LngID equals invLine.LngInvoiceID
where inv.IntStatus != 0
where inv.LngPersonID == personID
group inv by new {inv.LngID,inv.DtTimeStamp,inv.StrReference,inv.FltTotalValue} into newInv
Une partie du problème est que je veux faire un
select new Invoice(){
}
et construire mon objet personnalisé facture mais , Je ne vois pas l'une des propriétés de newInv.
Quelqu'un peut-il nous conseiller?
Merci pour cela Jon j'ai eu un peu de gel du cerveau hier. – DazManCat
Bien sûr, l'autre option consiste à faire une requête LINQ simple, puis à faire une facture.GroupBy (x => new {x.InvoiceID, x.InvoiceDate, x.Reference, x.TotalValue}); – DazManCat