Frage

Ich habe eine Reihe von Tabellen, die mit Primärschlüssel / Fremdschlüsselbeziehungen verbunden sind. Ich habe eine Tabelle von Transaktionen und jede Transaktion verweist ein und nur ein Produkt. Jedes Produkt kann in einem existiert und nur eine Kategorie:


Categories        Products           Transactions
-------------     -------------      -----------------
CategoryId        ProductId          TransactionId
CategoryName      CategoryId         ProductId
                  ProductName       TransactionAmount
  

Ich lerne gerade LinqToSql, und ich habe Lambda-Ausdrücke verwendet, um die Produkte zuzugreifen in jeder Kategorie (x => x.Products). Aber was ich versuche zu tun, um die Transaktionen Tabelle zugreifen, nämlich eine Summe aller Transaktionen nach Kategorie zu erhalten.

Ich bin sicher, dass ich dieses Handbuch, indem tun könnte, schließt sich in meiner Linq-Anweisung. Aber es scheint nicht, wie ich sollte, dies zu tun haben, da alle meine Tabellen als PF / FK in dem Modell verbunden sind.

Kann mir jemand ein Beispiel geben, wie loszulegen?

War es hilfreich?

Lösung

Ohne versuchen, es zu kompilieren, ich denke, das wird die Art und Weise arbeiten Sie wollen. Er geht davon aus, dass Sie die Verbände haben in den LINQ to SQL-Daten Kontext einzurichten.

var transPerCategory = db.Categories
                         .Select( c => new {
                             Name = c.CategoryName,
                             Amount = c.Products
                                       .Sum( p => p.Transactions
                                                   .Sum( t => t.TransactionAmount )
                                           )
                          });
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top