Entity Framework mit "Group By" und / oder "Order By"

asp.net c# entity-framework visual-studio-2008

Frage

Angenommen, wir haben ein Projekt, das Benutzern das Herunterladen von Dingen ermöglicht. Auf der Hauptseite möchte ich die am häufigsten heruntergeladenen Dateien nach der Anzahl der Downloads anzeigen lassen! All das mit EF.

Wie kann ich das machen !! Ich habe viele Dinge mit Group By ausprobiert (Es ist ein Albtraum, wenn Sie viele Informationen in einem Objekt haben). Und ich weiß noch nicht, wie ich das machen soll ...

var query = from details in m_context.TransactionDetails
                        where details.Chanson != null
                        group details by details.Items into AnItem
                        orderby AnItem.Count()
                        select new Item() {
                            IdItem = Chansons.Key.IdItem,
                            ItemState= Chansons.Key.ItemState,
                            [...This object got something like 20 including links to other objects ... ]
                        };

Hat jemand eine Idee?

Dank so)

Oh und tut mir leid für mein Englisch, ich gebe mein Bestes, aber ich komme aus Quebec (Usualy Talk French).

Akzeptierte Antwort

Salut!

Ich werde Ihr Datenmodell hier ein wenig erraten, aber ich denke nicht, dass Sie eine Gruppe bilden müssen

var query = from details in m_context.TransactionDetails
            where details.Chanson != null
            orderby details.Items.Count() descending
            select new Item
            {
                IdItem = details.Chanson.IdItem,
                ItemState= details.Chanson.ItemState,
                // ...
            };

Viel Glück!

Update: Für Alben:

var query = from details in m_context.TransactionDetails
            where details.DisqueCompact != null
            orderby details.Items.Count() descending
            select new Item 
            {
                IdItem = details.DisqueCompact.IdItem,
                ItemState= details.DisqueCompact.QuelqueChose...
                // ...
            };

Sie benötigen wahrscheinlich zwei Abfragen für Ihr Datenmodell.


Beliebte Antwort

Um Daten zu gruppieren, können Sie dieses How-To von MSDN lesen.



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum