Ich habe andere Themen hier untersucht, um zu lernen, wie man eine GroupBy in linq macht. Ich folge der EXACT-Syntax, die für andere funktioniert hat, aber es funktioniert nicht.IGrouping enthält keine Definition für
Hier ist die Abfrage:
var results = from p in pending
group p by p.ContactID into g
let amount = g.Sum(s => s.Amount)
select new PaymentItemModel
{
ContactID = g.ContactID, // <--- Error here
Amount = amount
};
pending
ist ein List<T>
, das unter anderer Spalt enthält, ContactID
und Amount
, aber das ist die einzig beide mich für diese Abfrage kümmern.
Das Problem ist, innerhalb der select new
, die g.
wird mir keine der Spalten in der ursprünglichen Liste, pending
. Und wenn ich versuche, erhalte ich:
<int, LeadPurchases>
IGrouping keine Definition für ContactID enthalten, und keine Erweiterung Methode bla bla bla ...
Dies ist die SQL ich nacheifern versuche:
SELECT
lp.PurchasedFromContactID,
SUM (lp.Amount)
FROM
LeadPurchases lp
GROUP BY
lp.PurchasedFromContactID
Sie wollen 'g.Key.ContactID' – Rob
Das bekommt mich: Int enthält keine Definition für ContactID –
Sorry - ich denke nicht gerade. Es sollte einfach 'ContactID = g.Key' sein, da du nur nach einem einzigen Wert gruppierst – Rob