Reputation: 4632
i have this query
var resultado = from c in conn.carrera
join u in conn.usuario on c.idusuario equals u.idusuario
join t in conn.texto on c.idtexto equals t.idtexto
where c.estatus == 1
select c;
how do i get something as it:
select c.*,u.*,t.eltexto from carrera c
join usuario u on c.idusuario =u.idusuario
join texto t on c.idtexto = t.idtexto
where c.estatus = 1
you could see in the query i am select c.*, u.* and t.col1,
then
how can i get it in EF? because my first query gets only carrera.*
but i need more data.
thanks
Upvotes: 1
Views: 772
Reputation: 1240
select c.*,u.*,t.eltexto from carrera c
join usuario u on c.idusuario =u.idusuario
join texto t on c.idtexto = t.idtexto
where c.estatus = 1
from c in Carrerra
join u in Usuario on c.idusuario equals u.idusuario
join t in Texto on c.idtexto equals t.idtexto
where c.estatus = 1
select new {
newcolumn1 = c.column1,
c.column2,
usercolumn1 = u.column1,
usercolumn2 = u.column2,
textcolumn = t.column1
}
if you want access to the objects themselves, then you could do
select new {
usario = u,
carrera = c,
texto = t
}
Carrera, Usario, and Texto refer to the Models in your Entity Framework container.
Upvotes: 0
Reputation: 26474
You could easily return a new object consisting all the properties of the three joined tables:
var resultado = from c in conn.carrera
join u in conn.usuario on c.idusuario equals u.idusuario
join t in conn.texto on c.idtexto equals t.idtexto
where c.estatus == 1
select new
{
c.prop_1,
c.prop_n,
u.prop_1,
u.prop_n,
t.prop_1,
t.prop_n
};
Upvotes: 4