Frage an die LINQ - Cracks
Hallo @All,
leider stehe ich mit LINQ auf Kriegsfuß.
Ich hoffe Ihr könnt mir helfen.
Ich habe folgendes SQL-Statement:
Jetzt habe ich das Problem, dies in LINQ zu übertragen.
Eigentlich sollte das so funktionieren (Denke ich jedenfalls)
Nur leider sind in"analyse" keine Daten ;-(
Das SQL-Statement liefert die Daten wie erwartet.
Was mache ich hier falsch ?
Danke schon mal für Eure Hilfe,
Frank
leider stehe ich mit LINQ auf Kriegsfuß.
Ich hoffe Ihr könnt mir helfen.
Ich habe folgendes SQL-Statement:
SELECT myPBtbl.Quelle, Right([Sortierdatum],4) AS Jahr, myPBtbl.[Debitor Nr], myPBtbl.Frankierlizenz, myPBtbl.Produkt
FROM (myPBtbl
INNER JOIN myPBConv_KdDaten ON (myPBtbl.Frankierlizenz = myPBConv_KdDaten.Frankierlizenz) AND (myPBtbl.[Debitor Nr] = myPBConv_KdDaten.Debitor))
INNER JOIN myPBConv_Produkte ON (myPBConv_KdDaten.GlobeCustID = myPBConv_Produkte.GlobeCustID) AND (myPBtbl.Produkt = myPBConv_Produkte.myPBProdukt)
GROUP BY myPBtbl.Quelle, Right([Sortierdatum],4), myPBtbl.[Debitor Nr], myPBtbl.Frankierlizenz, myPBtbl.Produkt;
Eigentlich sollte das so funktionieren (Denke ich jedenfalls)
Dim analyse = From report In myPBtbl _
Group report By quelle = report("quelle"), jahr = Strings.Right(report("Sortierdatum"), 4), debitor = report("Debitor Nr"), frankierlizenz = report("Frankierlizenz"), produkt = report("Produkt")
Into g = Group _
Join dbKdInfos In myPBConv_KdDaten On frankierlizenz Equals dbKdInfos("Frankierlizenz") And debitor Equals dbKdInfos("Debitor") _
Join dbPrInfos In myPBConv_Produkte On dbKdInfos("GlobeCustID") Equals dbPrInfos("GlobeCustID") And produkt Equals dbPrInfos("myPBProdukt") _
Select New With {quelle, jahr, debitor, frankierlizenz, produkt, .Anzahl = g.Count, _
.GlobeId = dbKdInfos("GlobeCustID"), .EndKunde = dbKdInfos("Referenz"), .GlobeProdukt = dbPrInfos("GlobeProdukt"), .OfferID = dbPrInfos("GlobeOfferID"), .OfferPos = dbPrInfos("OfferPosID")}
Das SQL-Statement liefert die Daten wie erwartet.
Was mache ich hier falsch ?
Danke schon mal für Eure Hilfe,
Frank
2 Antworten
- LÖSUNG ErikM87 schreibt am 03.01.2016 um 05:25:22 Uhr
- LÖSUNG SachsenHessi schreibt am 03.01.2016 um 22:43:24 Uhr
LÖSUNG 03.01.2016, aktualisiert um 05:31 Uhr
Bekommst du das kompiliert ?
Du bringt da scheinbar etwas mit der LINQ Syntax durcheinander.
"Group x by y" .. schreibt man "group by x .."
https://msdn.microsoft.com/de-de/library/bb763068.aspx <- vielleicht helfen die Beispiele dort..
Du bringt da scheinbar etwas mit der LINQ Syntax durcheinander.
"Group x by y" .. schreibt man "group by x .."
https://msdn.microsoft.com/de-de/library/bb763068.aspx <- vielleicht helfen die Beispiele dort..
LÖSUNG 03.01.2016 um 22:43 Uhr
Hallo @All,
Ich habe jetzt den Fehler doch noch gefunden.
Durch die „Umbauarbeiten“ am Programm, trat der Effekt auf, dass die Datentypen der Spalten nicht übereinstimmten.
Und ein INT32 mit STRING vergleichen gibt halt Probleme.
Da ich aber diesen Programmteil nicht angefasst hatte, war ich irritiert und habe erstmal in die falsche Richtung gesucht.
Um es kurz zu machen, nach einem Type-Cast, funktioniert es wieder richtig.
Mein „Problem“ hat sich also damit erledigt.
Trotzdem Vielen Dank
Frank
Ich habe jetzt den Fehler doch noch gefunden.
Durch die „Umbauarbeiten“ am Programm, trat der Effekt auf, dass die Datentypen der Spalten nicht übereinstimmten.
Und ein INT32 mit STRING vergleichen gibt halt Probleme.
Da ich aber diesen Programmteil nicht angefasst hatte, war ich irritiert und habe erstmal in die falsche Richtung gesucht.
Um es kurz zu machen, nach einem Type-Cast, funktioniert es wieder richtig.
Mein „Problem“ hat sich also damit erledigt.
Trotzdem Vielen Dank
Frank