2013-04-02 149 views
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"); } 

     } 

我一直沒能得到的Seccion列表,模塊主要包括列表TipoCaracteristicas。我還需要獲得特性列表每個TipoCaracteristicas

這就是我想要

public IQueryable<Seccion> GetSecciones 
     { 
      get { return db.Secciones.Include("TiposCaracteristicas"); } 
     } 

但我得到這個錯誤:

A specified Include path is not valid. The EntityType 'Seccion' does not declare a navigation property with the name 'TiposCaracteristicas'.

我怎樣才能做到這一點?我是否也可以包含其他關卡?

預先感謝您的時間。

+0

是您所擁有的 - 任何流利的代碼?你可以爲表格等「放棄」所有具體的「命名」,並嘗試不帶它(爲什麼它沒有這樣的錯字時會說'Seccionr')。試着搭起一個完整的,如果可能的重現模型,我可以快速檢查。 – NSGaga

+0

我將用更基本的模型更新這個問題。但即時通訊使用,我使用Code First,它只是做所有的「魔術」,但當它不工作,我卡住了。 –

回答

2

您需要做的是通過使用關鍵字virtual告知實體框架您的屬性是導航屬性。您還需要提供訪問修飾符:

public virtual ICollection<TipoCaracteristica> TiposCaracteristicas { get; set; }