Zum Inhalt springen

C# LINQ Problem


ErikM

Empfohlene Beiträge

Halöle,

ich beschäftige mich seit kurzem erst Linq und ich tue mich irgendwie schwer mit Aggregatfunktionen..

Ich versuche folgenden SQL-Query nach Linq umzuformen.

 

Select ProductTitle, Sku, Count (*) As Count


FROM Product AS P 

Inner JOIN AssignedProduct AS A on P.Id = A.ProductId

Inner JOIN LineItem AS L on L.AssignedProductId = A.Id 

INNER JOIN Orders AS O on O.Id = L.OrderId

INNER JOIN Customer AS C on C.Id = O.CustomerId 


where PerformanceDate Between '01.01.2012' and '25.09.2012'



group by ProductTitle,Sku

der Query gibt als Ergebnis den Produkttitel, die Sku des Produkts und die Häufigkeit der jeweiligen Sku aus..:) In Linq sieht das bei mir bisher so aus :
 

from element in DataLayer.RepositoryDistributor.LineItemRepository.DataSource

                               where element.Orders.PerformanceDate > VonSelector.SelectedDate //Startdatum

                               where element.Orders.PerformanceDate < StopDate.SelectedDate    //Enddatum


//LineItem.AssignedProduct.Product.Sku 


                               select element;

Weiss jemand wie man die Skunummern aufsummieren bzw. gruppieren kann ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Weil ich mich immer schwer tue, wenn ich die Stuktur der DB etc. nicht sehe...

...einfach mal 3 Links, die dir evtl. weiterhelfen.

Group Elements in a Sequence

Gewusst wie: Schreiben von LINQ-Abfragen in C#

101 LINQ Samples in C#

hoffe es hilft - happy kanobeln wünsch ich dir.

*Nachtrag: Empfehlen kann ich dir auch das Buch Datenbankprogrammierung mit Visual C# 2010 aus dem Hause MicrosoftPress. ISBN: 978-3-86645-446-0 Gibts bei Amazon für, momentan, ab ca. 35 Euro gebraucht. Ist aber eine gute Investition.

Bearbeitet von mcn
Link zu diesem Kommentar
Auf anderen Seiten teilen


var selection = from p in product
join a in assignedProduct on p.ProductId equals a.ProductID
join l in lineItem on a.AssignedProductID equals l.AssignedProductID
join o in order on l.OrderID equals o.OrderId
join c in customer on o.CustomerId equals c.CustomerId
select new
{
p.ProductTitle // whatever ...
};
[/php]

So in etwa ist das Grundgerüst ...

Was ich nicht habe, ist das Performance-Date, das GroupBy und das (count) sku.

Auf die Schnelle habe ich da keinen Zusammenhang herstellen können, wo was hinkommt. Die Domäne ist mir nicht weiter bekannt *g*

Zusammen mit dem TO kann man sich das auch sicher erschließen ...

Ansonsten geht es hiermit weiter:

LINQ - Grouping Operators "Nested Grouping"

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...