ich diese Linq Fragen haben, wenn ich diese Abfragen laufen i das Ergebnis bekam, die ich unter, wie die Liste in Linq Abfrage fusionieren
var SalesinvDets = (from si in CustomerTransactions
where si.TransTypeID == 10
group new {si} by new{
month=si.Period==1?"Jan-2015":si.Period==2?"Feb-2015":si.Period==3?"Mar-2015":si.Period==4?"Apr-2015":si.Period==5?"May-2015":
si.Period==6?"Jun-2015":si.Period==7?"Jul-2015":si.Period==8?"Aug-2015":si.Period==9?"Sep-2015":si.Period==10?"Oct-2015":
si.Period==11?"Nov-2015":si.Period==12?"Dec-2015":"",
month2=si.Period==13?"Jan-2016":si.Period==14?"Feb-2016":si.Period==15?"Mar-2016":si.Period==16?"Apr-2016":si.Period==17?"May-2016":
si.Period==18?"Jun-2016":si.Period==19?"Jul-2016":si.Period==20?"Aug-2016":si.Period==21?"Sep-2016":
si.Period==22?"Oct-2016":si.Period==23?"Nov-2016":si.Period==24?"Dec-2016":"",
period=si.Period
} into g
select new
{
month=g.Key.month,
month2=g.Key.month2,
Amount = g.Sum(x=>x.si.OVAmount)//.Sum(x=>x.si.OVAmount-(x.si.OVDiscount+x.si.OVFreight))//(si.OVAmount - (si.OVDiscount + si.OVFreight))
}).Dump();
ich während führen Sie die Abfrage dieses Ergebnis bekam in img gezeigt, aber ich brauche nicht, wie die
ich das Ergebnis so benötigen, pls helfen, meine Aufgabe zu erreichen
Das groupby funktioniert nicht so, wie Sie wollen. Ich würde der Klasse IComparable mit der Methode CompareTo() eine Vererbung hinzufügen. Die Linq Groupby verwendet die CompareTo-Methode für die Gruppierungen. Sie haben eine komplizierte GroupBy und es ist viel einfacher, als eine Funktion zu codieren. Sie können auch eine Hilfsfunktion für die Gruppierung erstellen, die der CompareTo() -Methode entspricht, die eine ganze Zahl (-1, 0,1) zurückgibt. – jdweng