我有一个我无法弄清楚的简单 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()
调用是非法的。First() 只能出现在 a 的末尾select
。同样不起作用的是在以前的查询中选择员工,如下所示:
var employee = from e. in context.Employees.....
...然后说let e = employee
而不是let e = u.Employees().First()
我不确定 let 的使用是否正确。我认为这是用于子查询。
调用的原因First()
是Employees 表对于每个用户不应有多个条目。这是设计中的一个错误,我现在必须处理它。所以我只想要第一个。