間接的に接続されているエンティティがあります。ここで、Taskは間接的にSprintに接続されます。1 つのBacklogItemは複数のTaskを持つことができ、各BacklogItemは 1 つのSprintに属します。したがって、私のアプリケーションでは、いくつかのスプリントに属するすべてのタスクが必要でした。それらは直接接続しないため、以下に示す多くのコード行を作成する必要がありました。
public viewResult tasksForSprint(int sprintId){
List<Task> tasksforSprint = new List<Task>();
var backlogItemlsit = db.BacklogItems.Where(b => b.sprintId == sprintId).OrderBy(i => i.backlogId).ToList();
var sprintTaskItems = db.Tasks.OrderBy(i => i.taskId).ToList();
foreach (var item in sprintTaskItems)
{
if (backlogItemlsit.Any(b => b.backlogId == item.backlogId))
taskforSprint.Add(item);
}
return view(tasksforSprint);
}
今、私が欲しいのは、6 行のコードではなく、1 つの LINQ クエリで List tasksforSprint を取得することです。前もって感謝します。