LINQ vb.net GRUPPE DURCH - WÄHLEN Sie verknüpfte Spalte

Ich habe eine sehr einfache SQL-Abfrage, die ich bin versucht zu reproduzieren:

     SELECT t1.id, t1.name, count(*), min(t2.inserted) as inserted_first,        max(t2.inserted) as inserted_last
     FROM tbl1 t1 
     LEFT JOIN tbl2 t2 ON t1.id=t2.tbl1_id
     WHERE t2.search=15
     GROUP BY t1.id, t1.name

Funktioniert dies perfekt für mich. Es erlaubt mir die Gruppe durch die einzigartigen Elemente von t1.id und t1.Namen, aber auch die Höhe der Zeit, die dieses paar erscheint, und auch die min-und max-Wert t2.eingefügt für die verknüpfte Tabelle. Problem ist nun, wenn ich diese in LINQ bekomme ich:

    Dim query =
    From t1 In ent.TBL1
    Join t2 In ent.TBL2 On t1.id Equals t2.tbl1_id
    Where (t2.search=15)
    Group t1 By t1.id, t1.name Into Group
    Select New With {
     .id = id,
     .name = name,
     .count = Group.Count,
     .min_value = ???,
     .max_Value = ???
    }

Bin ich verloren, was kann ich tun, um wählen Sie die min. - und max. Gruppe.Min funktionieren würde, wenn es war der gleiche Tisch wie in der Gruppierung, doch da es in t2, ich bin nicht in der Lage zu verweisen. Auch kann ich nicht fügen Sie es auf meine Gruppe, da seine verschiedenen.

Beachten Sie, dass tbl2 links zu tbl1 on tbl2.tbl1_id -> tbl1.id. Auch dies ist ein verdummt Beispiel für mein problem, nicht das wirkliche Leben schema.

Ich Schätze jede Hilfe in dieser Angelegenheit

InformationsquelleAutor Anthony Greco | 2011-10-18

Schreibe einen Kommentar