如何使用Entity Framework生成此查询以返回问题只有一个主题的相应集合。
select *
from TD_ENCUESTAS as e
join td_preguntas as p on e.ENC_ID = p.PRE_ENC_ID
join TC_TEMAS as t on p.PRE_TEM_ID = t.TEM_ID;
答案 0 :(得分:2)
鉴于模型设置正确,这很容易:
var encuestas = context.Encuestas
.Include(x => x.Preguntas.Tema)
为此,您需要:
public class Encuesta
{
public virtual ICollection<Pregunta> Preguntas { get; set; }
}
public class Pregunta
{
public Tema Tema { get; set; }
}
public class Tema
{
// not actually needed but for clarification
public virtual ICollection<Pregunta> Preguntas { get; set; }
}
答案 1 :(得分:2)
using (DBEntities db = new DBEntities())
{
var user = (from e in db.TD_ENCUESTAS
join p in db.td_preguntas on e.ENC_ID equals p.PRE_ENC_ID
join t in db.TC_TEMAS on p.PRE_TEM_ID equals t.TEM_ID;
select new
{
Name = e.ENC_DESCRIPCION,
Address = p.PRE_ACTIVO,
.....//So on...//
});
}