2011-02-25 3 views
0

클라이언트 측 LoadOperation이 null을 반환합니까? 어떻게 해결할 수 있습니까? 내 코드가 맞습니까? 가장 좋은 방법입니까?Silverlight 4 LoadOperation이 null을 반환합니다.

서버 측 (도메인 서비스 :

public IQueryable<State> GetStates() 
{ 
return this.ObjectContext.States.Include("Country") ; 
} 

//----------------------------------------------------------------------- 

클라이언트 측 귀하의 질문은 당신이 LoadOperation 코드에서 반면, null를 돌려 말 처음으로 매우 명확하지 않다

LoadOperation<State> loadOp; 
public IEnumerable<State> Entities() 
{ 
DSCommon _context = new DSCommon(); 
loadOp = _context.Load(_context.GetStatesQuery()); 
loadOp.Completed += complete; 
loadOp.Completed += new EventHandler(LoadOp_Completed); 
return loadOp.Entities; 
} 

EventHandler complete; 

void LoadOp_Completed(object sender, EventArgs e) 
{ 
foreach (var item in loadOp.Entities) 
{ 
/************* item.Country is Null ********************/ 
} 
} 

답변

2

, 그 상태 국가가 null입니다.

그러나 나는 전자 문제.

도메인 서비스에서 상태 EntityCollection에 포함 (국가) 메서드를 호출합니다. 그러나 클라이언트 측에서는 State.Country Entity가 여전히 null입니까? 얼마 전에 같은 문제가있었습니다. RIA 서비스 (또는 WCF)를 사용하면 엔티티의 [포함] 특성을 적용하지 않는 한

[MetadataType(typeof(State.StateMetadata))] 
public partial class State 
{ 
    internal sealed class StateMetadata 
    { 
     private StateMetadata() 
     { 
     } 

     [Include] 
     public EntityCollection<Country> Country; 
    } 
} 

사람은 아마 줄 수있을 것입니다 메타 데이터 클래스에 다음처럼 돌아가려면, 그 실체를 반환하지 않는 것 같다 왜 이렇게 작동하는지에 대한 설명. 나는 단지 이런 식으로해야만한다는 것을 알고있다 :-)

관련 문제