0
문제는 다음입니다 - 내가 2 개체가 일대 다 관계 :EF 4.3 및 CodeFirst : 하나는 일대 엔티티 프록시없이 널 (null)로 탐색 속성로드
public class Schema
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid SchemaId { get; set; }
public string Name { get; set; }
public string Content { get; set; }
public string ElementName { get; set; }
public List<Element> Elements { get; set; }
}
public class Element
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public Guid ElementId { get; set; }
public Guid SchemaId { get; set; }
public string Content { get; set; }
public Schema InSchema { get; set; }
}
및 프로젝트 EntityFramework V4에 참조 .3 패키지. 데이터베이스에 관련된 요소가있는 일부 스키마를 저장 한 후 스키마 목록 (예 : var schemasList = context.Schemas.ToList())을로드합니다. 이 후에는 Elements의 모든 Schema 인스턴스에서 속성 값이 null입니다. 이제 엔티티에 동적 프록시를 추가하면이 문제가 해결되지만 여러 가지 상황에 영향을 미칩니다 (예 : 저장으로 인해 여러 컨텍스트로 엔티티 추적 오류가 발생할 수 있음). 이 문제에 도움을 주셔서 감사합니다.
이 CodeFirst와 필요의이 포함되어 있습니까? – DrAlligieri
@DrAlligieri : 나는 입력 할 필요가없는 하나의 서버와 그것을 타이핑해야하는 서버를 가지고 있습니다. 비즈니스 계층을 살펴볼 필요가 있습니다. 어쨌든 이것은 게으른 로딩 (필요한 것만로드)을 수행 할 필요가 없으므로 필수적입니다. 이제는 요소 테이블에서 ** 가입 **해야하는 포함으로 말합니다 (이는 성능으로 간주 될 수 있음) 당신이 그것을 필요로하지 않으면 충격.). –
OK, 답은 tnx입니다. 나는 게으른 로딩 개념에 익숙하다. 또 다른 질문 - sc.Elements (ak List) 항목 (ak 요소)의 단순 속성 만로드하거나 너무 복잡한 탐색 (목록에있는 다른 복잡한 탐색 소품이있는 경우)을 포함합니다. –
DrAlligieri