Предположим, что классическая таблица сотрудников со своими ссылками, где у каждого сотрудника может быть не более одного ReportsTo, создана с использованием этого фрагмента T-SQL и примеров данных:
create table Employees
(
Id int identity primary key,
Name nvarchar(30),
Region nvarchar(10),
ReportsTo int null
foreign key(ReportsTo) references Employees(Id)
)
insert into Employees values('Boss','HO',null)
insert into Employees values('Underling', 'HO',
(select Id from Employees where Name='Boss'))
insert into Employees values('Self Important', 'Region 1',
(select Id from Employees where Name='Underling'))
insert into Employees values('Very Underling', 'Region 1',
(select Id from Employees where Name='Self Important'))
Я могу выбрать менеджера для региона 1с этим T-SQL
select * from Employees
where Region = 'Region 1' and
ReportsTo not in (select Id from Employees where Region = 'Region 1')
Другими словами, менеджер - это сотрудник, который не имеет отчетов в своем регионе.
Теперь, как определить менеджера для Региона 1 с помощью Linq