我在一对多的关系中有两个相关的类。我可以在其中一个类中访问Class属性,但不能访问另一个类。
以下是我的课程:
public class Seccion
{
public int Id { get; set; }
public string Nombre { get; set; }
public ICollection<TipoCaracteristica> TiposCaracteristicas;
}
public class TipoCaracteristica
{
public int Id { get; set; }
public int SeccionId { get; set; }
[ForeignKey("SeccionId")]
public Seccion Seccion { get; set; }
public List<CaracteristicaAdicional> Caracteristicas;
}
使用此代码,我可以包含 Seccion 属性
public IQueryable<TipoCaracteristica> GetTipoCaracteristicas
{
get { return db.TipoCaracteristicas.Include("Seccion"); }
}
我无法获得包含 TipoCaracteristicas 列表的 Seccion 列表。我还需要为每个 TipoCaracteristicas 获取 Caracteristicas 列表。
这就是我正在尝试的
public IQueryable<Seccion> GetSecciones
{
get { return db.Secciones.Include("TiposCaracteristicas"); }
}
但是我收到了这个错误:
指定的包含路径无效。 EntityType 'Seccion'没有声明导航属性 名为'TiposCaracteristicas'。
我该怎么做?我也可以包含其他级别吗?
提前感谢您的时间。
答案 0 :(得分:2)
您需要做的是使用virtual
关键字通知Entity Framework您的属性是导航属性。您还需要提供访问修饰符:
public virtual ICollection<TipoCaracteristica> TiposCaracteristicas { get; set; }