У меня есть простая проблема LINQ, которую я не могу понять.У меня есть стол Users
и стол Employees
. Один пользователь может иметь 0 ... n сотрудников.
Я хотел бы сделать что-то вроде этого:
var result = from u in context.users
where u.UsrId = 2
let e = u.Employees.First()
select new
{
UserId = u.UsrId,
FirstName = e.FirstName
};
Это, конечно, не работает, потому чтоFirst()
вызов незаконен.Первый () может прийти только в конце select
.Что также не помогло, так это выбрать сотрудника в предыдущем запросе следующим образом:
var employee = from e. in context.Employees.....
... и затем сказать let e = employee
вместо let e = u.Employees().First()
Я не уверенесли использование пусть исправить.Я думал, что это для подзапросов.
Причина вызова First()
состоит в том, что таблица Employees не должна иметь более одной записи для каждого пользователя.Это ошибка в дизайне, и я должен разобраться с ней сейчас.Так что я просто хочу первый.