2013-04-02 3 views
0

1 대 1 관계에 두 개의 관련 클래스가 있습니다. 클래스 중 하나에서 클래스 속성에 액세스 할 수 있지만 다른 클래스에서는 액세스 할 수 없습니다. 내가 속성네비게이션 속성 채우기 채우기 Lazy

public IQueryable<TipoCaracteristica> GetTipoCaracteristicas 
     { 
      get { return db.TipoCaracteristicas.Include("Seccion"); } 

     } 

내가 그 includs 의 목록 Seccion을 얻을 수되어 있지 않은 Seccion를 포함 할 수 있습니다이 코드

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; 
    } 

: 여기

내 클래스입니다 의 목록 TipoCaracteristicas. 나는 또한 각각의 Caracteristicas의 목록을 얻을 필요가있다 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

나는보다 기본적인 모델로 질문을 업데이트 할 것이다. 하지만 사용하는 게 전부예요, 코드 제일을 사용하는 Im 그리고 모든 "Magic"을 수행합니다. 그러나 작동하지 않을 때는 멈추게됩니다. –

답변

2

수행해야 할 작업은 사용자의 속성이 virtual 키워드를 사용하여 탐색 속성임을 Entity Framework에 알리는 것입니다. 또한 액세스 수정자를 제공해야합니다.

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