2016-08-07 3 views
0

wollen nach Datum Mit anderen Worten eindeutig wissen habe, werde ich es nicht Adresse zweimal ein IP verwenden, und ich würde das Feld Datum wie Was habe ich jetzt getan bis es funktionierteDistinct von LINQ Der beste Weg, und schnell

db.Exposures.DistinctBy(d => d.UserIP).Select(o =>o.ExpouserDate).ToList(); 

Aber es dauerte zu viel Zeit gibt es eine bessere Art und Weise Vergebung für mein Englisch und dank im Voraus

Antwort

3

Sie so etwas wie dies versuchen könnte:

var res = db.Exposures 
      .GroupBy(ex => ex.UserIp) 
      .Select(gr => gr.Max(x = >x.ExpouserDate)); 
+0

Dies ist "Distinct" durch zwei Parameter Datum und IP aber ich will "Distinct" durch die IP und wählen Sie das Datum –

+0

@ Yitzhakor50 So lassen Sie uns 50 IP und 30 sind einzigartig von ihnen wollen Sie diese 30 IPs? Wenn das stimmt, was wäre das Datum? Willst du das letzte Datum von jedem von ihnen? – Christos

+0

Das ist Ihre wirkliche Antwort db.Exposures .GroupBy (exe => exe.ExpouserDate) .Select (gr => new { Date = gr.Key, DistinctIps = gr.Select (x => x.UserIP) .Distinct() }). Wählen Sie (o => o.Date) .ToList(); –