0
我有一個問生成的樹狀結構最終於這種方法前一個問題:錯誤「無法從類型轉換」
public ICollection<DefaultEventType> GetTierTree()
{
var q = from mission in _context.tMissions
join activity in _context.tActivities on mission.id equals activity.missionId
join project in _context.tDefaultEventTypes on activity.id equals project.activityId
where !project.isRemoved && project.defaultCategoryId == 4
orderby mission.name
select new DefaultEventType(project.tierLevel.TryParseEnum<GanttType>(GanttType.Unknown), DefaultCategoryRepository.CreateFrom(project.tDefaultCategory))
{
AllowNumericSuffix = project.allowNumericSuffix,
AttachMilestoneMoniker = project.attachMilestoneMoniker,
Description = project.description,
Id = project.id,
IsReadOnly = project.isReadOnly,
IsSticky = project.isSticky,
Name = project.name,
Sid = project.sid,
Style = project.style.TryParseEnum<GanttElementStyle>(GanttElementStyle.Unknown),
TimeStamp = project.createdDT,
UpdatedTimeStamp = project.updatedDT,
Activity = new Activity { Id = activity.id, Name = activity.name, Mission = new Mission { Id = mission.id, Name = mission.name } }
};
var q2 = q.GroupBy(row => row.Activity.Mission.Id)
.Select(group => group.GroupBy(row => row.Activity.Id));
return q2.Cast<DefaultEventType>().ToList();
}
它失敗的回報。我做了大量的谷歌搜索和搜索董事會。顯然這些類型與GroupBy中的某些內容不匹配,但我不明白爲什麼這不起作用。
任何人都可以提供見解或我將如何去解決這個問題?
編輯: 我想輸出一個樹狀結構。目前,它看起來像這樣:
* Parent1
* Child1
*ChildChild1
* Parent1
* Child1
* ChildChild2
* Parent1
* Child1
* ChildChild3
我希望它做的是什麼樣的一羣東西,所以:
* Parent1
* Child1
* ChildChild1
* ChildChild2
* ChildChild3
同意,看起來像排序是什麼OP需要 –
排序。我更新了原件以顯示我想要做的事情。 – Omni
@ negzero7看起來我錯了;我已經更新了這個,讓你得到一個層次結構,而不是一個扁平的結構。 – Rawling