Frage

Urgh ... meine LINQ hat plötzlich eine Wendung zum Schlechteren !!

genommen

Ich habe zwei Tabellen und wollen verbinden und Aggregatfunktionen auf den Tabellen durchführen.

Zum einen wird dies möglich, gehe ich davon aus es ist, und zweitens, wie kann ich die Aggregatfunktionen umgehen? Im Rahmen der gleichen LINQ Aussage?

Die SQL-Anweisung wird ein bisschen wie folgt aussehen:

SELECT     t1.Col1, t1.Col2, t1.Col3, t2.Col10, 
                      t2.Col11, SUM(t2.Col4) AS TotalPurchases, COUNT(t1.Col5) AS ProductCount,t2.Col7, 
                      t2.Col6, t2.Col8, t2.Col9
FROM         t1 INNER JOIN
                      t2 ON t1.Col1 = t2.Col1 AND t1.Col5 = t2.Col5 AND 
                      t1.Col2 = t2.Col2
GROUP BY t1.Col1, t1.Col2, t1.Col3, t2.Col7, t2.Col6, 
                      t2.Col8, t2.Col9, t2.Col10, t2.Col11
HAVING      (t1.Col1 = @p1) AND (t1.Col2 = @p2) AND (t1.Col3 = @p3)

Offensichtlich ist der ‚AS‘ Abschnitte können ignoriert werden, kann ich die in den Kontrollen umbenennen.

Für Hinweise, Tipps, würden Zeiger sehr geschätzt.

War es hilfreich?

Lösung

Versuchen Sie etwas wie unten nutzen zu tun, der mit der into Stichwort Hilfe verbindet Sie Ihre taks erreichen

var query = from t1 in prodDtcx.t1
            join t2 in prodDtcx.t2 on t1.ID equals t2.ID
            group t1.col1,t2.col2 by new {col1= t1.col1,col2=  t2.col2,col3 = t1.col2} into g
            where g.col3 >= @variable
            select new { Col1 = g.col1, Col2 = g.col2};  

Überprüfen Sie diesen Beitrag für weitere Einzelheiten: LINQ having-Klausel und Gruppierung mit Bedingung

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top