我在C#中使用以下语句从表DetalleContenido和Archivo中检索数据:

var detallesContenido =
   from contenido in guiaContext.Contenido
      where contenido.PuntoInteres.id_punto == puntoInteresID
   from dc in contenido.DetalleContenido
      where dc.Idioma.ds_idioma == idiomaCliente
  select dc;


表之间的关系是这样的:

c# - Ado.Net Entity Framework LINQ:选择倍数表-LMLPHP


我使用puntoInteresID和idiomaCliente从DetalleContenido和Archivo检索属于PuntoInteres的所有行,但是这句话Archivo始终为空!

sql sendece等效项为:

Select dc.ds_nomDetContenido, dc.ds_descDetContenido, ar.archivo
from Contenido c, DetalleContenido dc, Archivo ar, Idioma i
where c.id_punto = puntoInteresID
  and c.id_contenido = dc.id_contenido
  and dc.id_idioma = i.id_idioma
  and i.ds_idioma = idiomaCliente
  and dc.id_archivo = ar.id_archivo;


我如何也可以检索Archivo?

谢谢!

最佳答案

你也可以

.Load()


所选对象的“参考”属性(使用它们时)。

但是对于您的查询,您的Archivo表似乎是1比1,因此您不能“包含”或“加载”等式的“很多”面。我认为您必须做一个“选择dc.Archivo”。

09-06 21:41