내 모든 POCO에 대해 탐색 및 컬렉션 속성이 모두 null입니다.코드 첫 번째 자동 gen 프록시 클래스 탐색 및 컬렉션 속성이 null입니다.
배경 정보를 제공해 드리겠습니다. EF 4.3.1을 사용하는 복잡한 코드 첫 번째 프로젝트가 있습니다. 프록시 생성이 비활성화되었습니다. 수집 및 탐색 속성은 수동으로 관리되었습니다.
이제 프록시 만들기 및 지연로드를 사용하도록 설정하고 있습니다. 디버깅 할 때 내 엔티티 (알려진 POCO 유형으로 캐스팅 된)가 실제로 자동 생성 된 프록시 클래스라는 것을 알 수 있습니다. 여태까지는 그런대로 잘됐다.
지금 내 탐색 속성을 보면 null입니다. 마찬가지로 컬렉션 속성도 null입니다.
리플렉션을 사용하여 프록시 클래스가 내 탐색 및 컬렉션 속성을 재정의했음을 알 수 있습니다.
모든 탐색 및 수집 속성은 가상입니다. 예컨대 :
public virtual NavigationType NavigationName { get; set; }
public virtual ICollection<CollectionType> CollectionName { get; set; }
또한, 모든 테이블이 같은 초기화됩니다
modelBuilder.Entity<TEntity>()
.Map(m =>
{
m.MapInheritedProperties();
m.ToTable("TableName");
});
는 또한 예상대로 데이터베이스가 생성되는 것을 확인할 수 있습니다. 외래 키는 모두 존재하며 예상 필드와 연관됩니다.
왜 null입니까? 어떻게 진단 할 수 있습니까?
큰 질문입니다. – mattytommo
이 컬렉션 속성은 클래스에서 '가상'으로 표시되어 있습니까? – alex
요구 사항을 확인하십시오 - http://msdn.microsoft.com/en-gb/library/vstudio/dd468057(v=vs.100).aspx – devdigital