急切加载将相关对象返回为null

时间:2018-01-19 22:07:25

标签: asp.net-mvc entity-framework

美好的一天,我首先使用实体​​框架数据库,使用asp.Net MVC。你可以在这里看到我的模型

 public class Respuesta
{
    [Required]
    public Guid Id { get; set; }
    [Required]
    [MaxLength(512)]
    public string Descripcion { get; set; }
    public Detalle Detalle { get; set; }
    [ForeignKey("Detalle")]
    public Guid DetalleId { get; set; }
    public int Orden { get; set; }
}

   public class Detalle
{
    [Required]
    public Guid Id { get; set; }
    [Required]
    [MaxLength(512)]
    public string Describir { get; set; }
    [Required]
    public TipoProyecto TipoProyecto { get; set; }
    [ForeignKey("TipoProyecto")]
    public Guid TipoProyectoId { get; set; }
    [MaxLength(256)]
    public string Ejemplo { get; set; }
    [Required]
    public Int32 Orden { get; set; }
    [Required]
    [MaxLength(512)]
    public string DescripcionProfesional { get; set; }

}

当我执行以下查询时,“Detalle”对象返回null,但其他字段带有数据。

var answers= _dbContext.Respuesta.Where(r => r.DetalleId == DetalleId).ToList();

the problem

这是架构

db schema

我觉得这很奇怪,因为在过去做同样的事情时,我从来没有收到过null的对象。

发生了什么事?感谢

1 个答案:

答案 0 :(得分:0)

在研究了一下Include()方法之后,根据Gert Arnold的回答, 这是我使用的查询:

using System.Data.Entity;

_dbContext.Respuesta.Include(r=>r.detalle).Where(r => r.DetalleId == DetalleId).ToList();