2011-08-30 2 views
0
new ProductReadModel 
{ 
    Nr = (nr++).ToString(), 
    Abbreviation = "Ewb", 
    Name = "Some product", 
    BodyMaterial = context.BodyMaterialReadModels.FirstOrDefault(b => b.Abbreviation == "EDTA") 
} 

데이터베이스 초기화 중에 테이블을 EF 코드 첫 번째 시드로 채 웁니다. 내 시더 중 한 사람에게 모든 bodymaterial을 추가합니다. 여기서는 이러한 bodymaterial을 제품에 연관 시키려고합니다. 내가 디버깅 할 때 bodymaterial 콜렉션이 14 개의 아이템을 포함한다는 것을 알 수있다. 그러나이 코드를 살펴본 후 BodyMaterial 속성은 null입니다.EF 코드 우선 savechanges없이 쿼리 및 할당

제안 사항?

답변

3

빈 데이터베이스에 대해 데이터베이스 쿼리를 실행하고 있습니다.

BodyMaterial = context.BodyMaterialReadModels.Local.FirstOrDefault(...); 

또는 직접 BodyMaterialCollection를 사용하는 대신이를보십시오. 컨텍스트에 노출 된 집합은 지속되지 않는 엔터티가 아닌 데이터베이스의 진입 점입니다 (Local 속성 제외).

+0

위대한 트릭을 했어. 어쨌든 인텔리 센스는 나에게이 재산을 보여주지는 않지만 그것을 컴파일하고 작동합니다. –

관련 문제