0

我在一对多关系中有两个相关的类。我可以访问其中一个类中的 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' 的导航属性。

我怎样才能做到这一点?我也可以包括其他级别吗?

在此先感谢您的时间。

4

1 回答 1

2

您需要做的是使用virtual关键字通知实体框架您的属性是导航属性。您还需要提供访问修饰符:

public virtual ICollection<TipoCaracteristica> TiposCaracteristicas { get; set; }
于 2013-04-02T22:02:04.723 回答