【发布时间】:2015-04-17 03:11:25
【问题描述】:
我有一个表请求和一个表任务。 Request to Task 是一对多的关系。在请求中有一个状态。任务中还有一个状态。有时人们将所有任务状态标记为已完成,但未将请求的状态标记为已完成。我需要对其进行一些维护工作。这是我的代码:
List<Request> RequestsNeedsAction = new List<Request>();
var requests = Requests.Where(r => r.RequestStatusID == 2 ||
r.RequestStatusID == 6)
.ToList();
foreach (var request in requests)
{
bool taskAllCompleted = true;
foreach (var task in request.Tasks)
{
if (task.TaskStatusID != 2 && task.TaskStatusID != 5)
{
taskAllCompleted = false;
break;
}
}
if ( taskAllCompleted )
{
RequestsNeedsAction.Add( request );
}
}
RequestsNeedsAction.Dump();
在 LINQ 或 tsql 中有更简单的方法吗?
【问题讨论】: