2013-09-04 2 views
1

Ниже приведены данные моего образца. Две компании имеют двух сотрудников.Выберите деталь из списка мастер-деталей, используя lambda

List<Company> companies = new List<Company> 
{ 
    new Company 
    { 
     Name = "ABC Company", 
     Address = "No.1 St. USA", 
     Employees = new List<Employee> { new Employee { Name = "John", Age = 30 }, new Employee { Name = "David", Age = 20 } } 
    }, 
    new Company 
    { 
     Name = "DEF Company", 
     Address = "No.2 St. USA", 
     Employees = new List<Employee> { new Employee { Name = "Michael", Age = 22 }, new Employee { Name = "Jason", Age = 27 } } 
    } 
}; 

Я стараюсь, чтобы получить все сотрудники, используя следующий синтаксис:

var employees = companies.Select(c => c.Employees).ToList(); 

Однако, это дает мне

Название «сотрудники» не существует в текущем контексте

когда я w примите его во время выполнения. Мой ожидаемый результат - List<Employee> со всеми 4 сотрудниками. Любые предложения будут оценены.

ответ

5

Вы должны использовать SelectMany вместо Select.

Ошибка, которую вы показываете, не имеет ничего общего с этим запросом. Скорее всего, вы не находитесь в правильной области, пытаясь посмотреть эту переменную.