我已經在我的項目以下層次:LINQ過濾第N個級別嵌套列表
- 活動
- 任務
- 步驟
- 迴應
這意味着一個活動有許多任務,而這又有很多步驟,一個步驟有很多回應。
這裏是我的POCO類:
public class Activity
{
public virtual ICollection<Task> Tasks { get; set; }
}
public class Task
{
public virtual ICollection<Step> Steps{ get; set; }
}
public class Step
{
public virtual int DisplayOrder { get; set; }
public virtual ICollection<Response> Responses{ get; set; }
}
public class Response
{
public virtual int UserId { get; set; }
public virtual int ResponseText{ get; set; }
}
現在,我需要回到這是由ActivityId
排序並具有DisplayOrder
有序步驟,也是一個迴應只屬於給定UserId
一個List<Activity>
。
這是我曾嘗試:
Activities.ToList()
.ForEach((activity) => activity.Tasks.ToList()
.ForEach((task) => task.Steps = task.Steps.OrderBy(s => s.DisplayOrder).ToList()
.ForEach((step) => step.Responses = step.Responses.Where(r => r.UserId == RequestorUserId)))
));
這是給我的錯誤:
Cannot implicitly convert type 'void' to
ICollection<Step>
我提供了一個答案,如果它可以幫助你,請給予好評和接受。 –