我如何检索Linq中的不同列表?

问题描述:

我希望我的结果是这样我如何检索Linq中的不同列表?

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 

为此,我做了LINQ查询,但我得到的例外如下 附加信息:“独特”操作无法应用于指定参数的采集与resultType。

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(); 

有很多方法可以获得不同的数据。 你可以使用“DistinctBy”与deisred属性,或者您可以使用

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