0

내가 올바른 방향으로 가고 있는지 확실하지 않습니다. 나는 실버 라이트 앱을 가지고 있으며 많은 것을 위해 Entity Framework를 사용한다. 내 데이터베이스에 매핑 된 두 개의 엔터티가 있습니다 : 머리글 및 세부 정보. 머리글 레코드에 세부 레코드가없는 경우에도 왼쪽 머리글 조인을 제출하여 모든 머리글과 세부 정보를 계산하려고합니다. 여기에 Linq는 쿼리 내가 클라이언트에서 실행 할 수 있습니다 :이 실버이기 때문에, 그때, 내 쿼리를 빌드에 내 도메인 서비스 (컨텍스트에서 storeContext.Load<T>() 방법으로 서버에 제출해야 Silverlight - LinqToEntities - 익명 형식을 반환하는 방법

var query = 
     from head in storeContext.Headers 
     join detail in storeContext.Details 
     on head.HeadId equals details.HeadId 
     into group 
     select new 
     { 
     Desc = head.Description, 
     MyCount = group.Count() 
     }; 

고객). 이 메서드는 형식을 기대하기 때문에 위의 동글처럼 익명 형식을 반환하는 호출을 구조화하는 방법을 모르겠습니다.

이 모든 것을 잘못하고 있습니까? 이런 식으로 Invoke 메서드를 사용해야합니까? 그렇다면, 어떻게 그리고 어디에서 반환하고 싶은 유형을 정의 할 수 있습니까?

누군가가 올바른 방향으로 나를 가리킬 수 있습니까? 나는 정말로 그것을 사과 할 것입니다.

감사합니다 ... 스콧

+0

당신이 annonymous 유형을 반환 할 수 없습니다, 당신이 WCF RIA에 있다면 중요하지 않거나 무엇이든간에 – sebagomez

+0

가능한 중복 [Return anonymous type?] (http://stackoverflow.com/questions/534690/return-anonymous-type) – nawfal

답변

5

익명 형식을 반환 할 수 없습니다. 그들은 필요에 따라 현재 범위에 국한되어 있습니다.

조회에 올바른 보이지만, 이름이 지정된 유형 반환해야합니다

var query = 
     from head in storeContext.Headers 
     join detail in storeContext.Details 
     on head.HeadId equals details.HeadId 
     into group 
     select new MyHelper // SPECIFY A CLASS HERE 
     { 
     Desc = head.Description, 
     MyCount = group.Count() 
     }; 

조회 방법은 반환해야합니다을 IEnumerable<MyHelper> :

public IEnumerable<MyHelper> GetInfo() 
{ 
    var query ... 

    return query; 
} 
+0

당신은 익명 형식을 '동적'으로 래핑하여? –

+0

@Jeff - 나는 '역 동성'으로 아직 연주하지 않았으므로 모르겠습니다. – ChrisF

+0

나도 마찬가지지만, 지금은 호기심이 많다. 그것이 필연적으로 좋은 아이디어라고 생각하지 않지만 흥미롭지는 않습니다. –

1

당신은 방법에서 익명 형식의 인스턴스 값을 반환하지 않을 수 있습니다. 익명 형식은 메서드에 로컬 인 항상입니다. WCF를 통해 형식을 반환하려면 익명 형식을 사용하는 대신 클래스를 직접 작성해야합니다.

관련 문제