2011-03-22 4 views
0

저는 실버 라이트를 개발할 때 새롭고 SQL 연결과 서비스 도메인 클래스에 대한 linq를 만들었습니다. DataGridview에 1 대 다수 관계가있는 2 개의 테이블에서 데이터를 가져 오려고합니다. 이 작업을 수행하려면 메타 데이터 및 서비스 도메인 클래스에 명령을 포함 시키십시오.하지만이 작업을 수행하려면 datacontext 대신에 objectcontext (현재 가지고있는 것)가 있어야합니다. 누군가이 문제와 관련하여 도움을 줄 수 있습니다. 1 '포함' 오류 :objectcontext 대 datacontext

내가 u는

"<IncludeAttribute()> _" 
Public Property SubgroepIndustries As EntitySet(Of SubgroepIndustrie) 

추가 말을 한 적이하지만 난이 오류 메시지 다음은

가 편집 내 세부 그리드에 대한 querys를 얻기 위해 문을 포함 'System.Data.Linq.Table (Of ILA4.HoofdgroepIndustrie')의 구성원이 아닙니다 편집 2 :내가 내 도메인 서비스 클래스에없는 메타 데이터를 포함하는 사용하려고하면그래서 나던 작업

답변

0

ObjectContext

Return Me.DataContext.HoofdgroepIndustries.Include("SubgroepIndustries") 

은 당신이 만든 생성 DomainService 클래스 내부에서 발생되는 클래스입니다.

DomainService 클래스에서 this.ObjectContext을 수행하면 찾고있는 수업에 액세스 할 수 있습니다.

여기서는 RIA 서비스를 사용 중이며 DomainService MetaData 클래스에 [Include] 속성이 있다고 가정했습니다. 그렇지 않으면 this.ObjectContext.SomeEntity.Include("ChildEntity")을 실행해도 문제가 해결되지 않습니다.

편집 :

당신은 내가 생각 ObjectContext 필요하지 않은 코드를보고, 당신의 .metadata.vb ObjectContext에 관해서는

Public Property SubgroepIndustries As EntitySet(Of SubgroepIndustrie)<IncludeAttribute()> _를 추가합니다. 대신 DataContext을 사용하십시오. 예를 들어 너무

:

Public Function GetHoofdgroepIndustries() As IQueryable(Of HoofdgroepIndustrie) 
    Return Me.DataContext.HoofdgroepIndustries.Include("SubgroepIndustries") 
End Function 

는 당신이 그것을 할 방법입니다.

편집 2 : 당신은

+0

그래서 난 내가 내 도메인 서비스 클래스에서 사용하기 전에 내 메타 데이터에 처음으로 포함 할 필요가 <IncludeAttribute()>에 대한 Imports System.ServiceModel.DomainServices.Server는 VB에서 메타 데이터 포함 u는 나에게의 예를 들어 줄 수해야합니까? 내가 테이블 산업과 테이블 산업을 가지고있는 것처럼, 각 산업은 다수의 산업을 가지고 있습니다. 그러나 각 산업은 오직 1 개의 산업 단지를 가지고 있습니다. – tim

+0

조금 줘요. VB에서 코딩 한 지 오래되었습니다. DomainService 선언과 관련된 .metadata.vb 클래스의 일부를 공유 할 수 있다면 도움이 될 것이므로 속성을 어디에 넣을 지 정확히 알려줄 수 있습니다. – Maverik

+0

http://pastie.org/1699105 -> 메타 데이터 – tim