У меня есть вопрос относительно Linq в C#.
Допустим, у меня есть 3 таблицы «Компания», «Сотрудник» и «Работа».
Company
--------
Id - int (PK)
Name - string
Employee
--------
Id - int (PK)
CompanyId - int (FK on Company.Id)
Name - string
Job
--------
Id - int (PK)
CompanyId - int (FK on Company.Id)
EmployeeId - int (FK on Employee.Id)
Name - string
Примерно так: введите описание изображения здесь
Важно то, что каждый work
должен быть подключен к company
но не обязательно для работника. Однако каждый employee
должен быть подключен к company
. Например, у нас может быть такой racord:
Company
--------
Id Name
1 'A'
2 'B'
3 'C'
Employee
--------
Id CompanyId Name
1 1 'A'
2 1 'B'
3 2 'C'
Job
--------
Id CompanyId EmployeeId Name
1 1 1 'clean'
2 1 2 'wash'
3 2 2 'buy'
4 3 NULL 'sell'
А теперь с linq я хотел бы получить все jobs
, назначенные этому employee
и другим сотрудникам из то же самое company
. Таким образом, в этом случае это должны быть задания с идентификатором 1 и 2, поскольку сотрудник 1 назначен компании 1, а задание с идентификатором 2 также назначено этой компании. Как я могу добиться этого с помощью linq, но что-то вроде этого: _context.Job.Where (x => x)
Важно сделать только один запрос к базе данных.
Tkanks.