我有这个查询
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;
我如何得到它的东西:
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
您可以在查询中看到我select c.*, u.* and t.col1,
我怎样才能在EF中获得它?因为我的第一个查询仅获得carrera.*
,但我需要更多数据。
感谢
答案 0 :(得分:4)
您可以轻松返回包含三个连接表的所有属性的新对象:
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
};
答案 1 :(得分:0)
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
}
如果您想要访问对象本身,那么您可以
select new {
usario = u,
carrera = c,
texto = t
}
Carrera,Usario和Texto在您的实体框架容器中引用模型。