2017-06-12 4 views
0

I Want My Ergebnis wie diese diesenWie kann ich eine eindeutige Liste in Linq abrufen?

McLaren Cup 
     The Regis Brunch 
        21st Jan 2017 
        24st Jan 2017 
        26st Jan 2017 
     General Entry 
     General Parking 
     Picnic Parking 
        21st Jan 2017 
        24st Jan 2017 
        26st Jan 2017 

Für i LINQ-Abfrage tat, aber ist immer Ausnahme als Zusätzliche Informationen folgt: Der ‚Distinct‘ Betrieb nicht auf die Sammlung Result des angegebenen Arguments angewandt werden kann.

var Ticketdata = (from Tevent in context.TicketEventsMaster 
    where Tevent.IsActive == true && Tevent.IsVisible == true 
    select new 
    { 
    EventID = Tevent.TicketEventID, 
    eventName = Tevent.TicketEventName, 
    EventCategories = (from TEM in context.TicketCategoriesMaster 
     join TED in context.TicketEventDates on TEM.CategoryID equals TED.TCategoryID 
     where TED.IsActive == true && TED.IsVisible == true && TED.TEventID == Tevent.TicketEventID 
     //orderby TED.DisplayOrder 
     select new 
     { 
      CategoryID = TED.TCategoryID, 
      CategoryName = TEM.CategoryName, 
      EventDates = (from tDate in context.TicketEventDates 
      where 
       tDate.IsActive == true && tDate.IsVisible == true 
       && tDate.TEventID == Tevent.TicketEventID 
       && tDate.TCategoryID == TEM.CategoryID 
      orderby tDate.TEventDate 
      select new 
      { 
       DateID = TED.ID, 
       Dates = TED.TEventDate != null ? TED.TEventDate.ToString() : string.Empty, 
       Times = TED.TEventTime != null ? TED.TEventTime.ToString() : string.Empty, 
      }).ToList() 
     }).Distinct().ToList() 

    }).ToList(); 

Antwort

1

Es gibt viele Möglichkeiten, Distinct Daten zu erhalten. können Sie "DistinctBy" mit deirred Eigenschaften verwenden oder Sie können

var result = table.GroupBy(test => test.id) 
        .Select(grp => grp.First()) 
        .ToList(); 
verwenden
Verwandte Themen