我试过这两个但是没有用?怎么做?
.SelectMany(x => x.SectionEvents).SelectMany(t => t.Section)
.SelectMany(x => x.SectionEvents.SelectMany(t => t.Section))
错误:
方法的类型参数 '
System.Linq.Enumerable.SelectMany<TSource,TResult>(System.Collections.Generic.IEnumerable<TSource>, System.Func<TSource,System.Collections.Generic.IEnumerable<TResult>>)
' 无法从使用中推断出来。尝试指定类型参数 明确。
EEvent.List<EEvent>("CalendarPeriodUId", ECalendarPeriod.Current().UId).Value.ToList()
.SelectMany(x => x.SectionEvents.SelectMany(t => t.Section)).ToFCollection().Bind(ddlSection, "SectionName");
答案 0 :(得分:2)
我认为你想要的是通过连接表从事件中选择所有部分。
public class Event
{
public ICollection<SectionEvent> SectionEvents { get; set; }
}
public class SectionEvent
{
public Event Event { get; set; }
public Section Section { get; set; }
}
public class Section
{
public ICollection<SectionEvent> SectionEvents { get; set; }
}
如果是这样,那么您需要的是SelectMany
和Select
。
var q = events.SelectMany(e => e.SectionEvents).Select(se => se.Section);