2010-08-05 4 views
-1

다른 목록을 하나의 목록에서 값을 추가하는 방법 : - EmployeeProjects 프로젝트 : 기본적으로LINQ 구현 조언 - 나는 다음과 같은 구현하는 방법에 대한 몇 가지 LINQ 조언 (또는 일반적인 조언)가 필요합니다

을, 나는 3 개 기관이 - 종업원 (각각 1 : 다수 및 1 : 1 관계), 즉 종업원은 많은 프로젝트에 배정 될 수 있으며 프로젝트에는 많은 종업원과 종업원 프로젝트에 수용된 모든 종업원이있을 수 있습니다.

몇 명의 직원을 선택하여 특정 프로젝트에 있는지 확인하고 해당 프로젝트에 존재하지 않는 경우 추가하고 싶습니다. 이 같은

지금까지 내가 생각하고 뭔가 (일체의 조언 감사합니다!) :

var existingEmployees = new List<string>(); 

foreach(var employeeProject in _project.EmployeeProjects) 
{ 
    if (employeeProject.Employee != null) 
     existingEmployees .Add(employeeProject.Employee.EmployeeId); 
} 

foreach(var employee in GetSelectedEmployees()) 
{ 
    if (!existingEmployees.Contains(employee.EmployeeId)) 
    { 
     _project.AddEmployee(employee); 
    } 
} 

답변

3
foreach(var employee in GetSelectedEmployees() 
         .Except(_project.EmployeeProjects.Employees)) 
    _project.AddEmployee(employee); 

이제 프로젝트가 AddEmployees(IEnumerable<Employee>) 방법이 있다면 :

_project.AddEmployees(GetSelectedEmployees() 
         .Except(_project.EmployeeProjects.Employees)); 
+0

감사합니다! 정확히 내가 무엇을 찾고 있었는지. – user118190

관련 문제