Tengo un problema LINQ simple que no puedo entender. Tengo una tabla Users
y una tabla Employees
. Un usuario puede tener 0 ... n empleados.Uso de la palabra clave "let" en una consulta LINQ con EF 4.3
me gustaría hacer algo como esto:
var result = from u in context.users
where u.UsrId = 2
let e = u.Employees.First()
select new
{
UserId = u.UsrId,
FirstName = e.FirstName
};
eso no funciona, por supuesto, robaba la llamada First()
es ilegal. First() solo puede aparecer al final de select
. Lo que también no funcionó es seleccionar el empleado en una consulta anterior, así:
var employee = from e. in context.Employees.....
... y luego dicen let e = employee
en lugar de let e = u.Employees().First()
No estoy seguro de si el uso de dejar correcta. Pensé que era para subconsultas.
El motivo de la llamada First()
es que la tabla Empleados no debe tener más de una entrada para cada usuario. Eso es un error en el diseño y tengo que lidiar con eso ahora. Entonces solo quiero el primero.
Hola; ¿Podrías ayudarme a entender qué pasa con la consulta de LINQ superior en la pregunta? Tu consulta y eso me parecieron idénticas. – UfukSURMEN