2011-02-02 5 views
0

내 프로젝트 내에서 다양한 테이블 간의 관계 링크를 완성한 엔터티 데이터 모델을 만들었습니다. 그렇게하면 Visual Studio에서 자동으로이 링크의 이름이 지정된 속성을 만듭니다.RIA를 사용하여 자식 속성이 자동으로 초기화되지 않습니까?

이 데이터 모델을 기반으로 도메인 서비스 클래스를 생성했습니다. 다시 한 번이 속성을 사용하여 링크를 나타내며, 즉 내 ChemicalApplication 클래스 내에 Chemical 유형의 화학 속성이 있습니다.

문제는 silverlight 클라이언트에서 ChemicalApplication 데이터 객체에 액세스 할 수 있고 ChemicalApplication.Chemical 속성을 볼 수 있지만 액세스하려고하면 속성이 잘못되었다는 오류가 나타납니다. 초기화되지 않았습니다.

이러한 자동 생성 하위 속성이 자동으로 초기화되지 않습니까? 그렇지 않은 경우 RIA 도메인 서비스 내에서 수동으로 어떻게 값을 할당합니까?

+0

데이터 액세스 코드를 볼 수 있습니까? ChemicalApplication 엔티티를 반환하는 링크 쿼리 또는 기타 – DaveB

답변

0

나는 이것을 수동으로하는 방법을 발견했다. 당신은 또한 것이다, 클래스의 메타 데이터 내에서

Public Function GetChemicalApplicationsByUser(ByVal query As String) As IQueryable(Of ChemicalApplication) 
    Return Me.ObjectContext.ChemicalApplications.Include("Chemical") _ 
               .Include("ProcessStatus") _ 
               .Where(Function(f) f.requestedByUsername = query) 
End Function 

: RIA의 DataService() 메서드를 가져옵니다 내에서, 단순히 내가 두 개의 하위 테이블에 바인딩 내 GetChemicalApplicationByUser 기능에서 ".Include ("테이블 _ ")을"

예를 추가 포함() 예 :

<MetadataTypeAttribute(GetType(ChemicalApplication.ChemicalApplicationMetadata))> _ 
Partial Public Class ChemicalApplication 


Friend NotInheritable Class ChemicalApplicationMetadata 


    Private Sub New() 
     MyBase.New 
    End Sub 

    Public Property aspectSummaryUpdate As Nullable(Of Boolean) 

    Public Property bunding As Nullable(Of Boolean) 

    Public Property CARQ() As Byte 

    <Include()> 
    Public Property Chemical As Chemical 

etc... 

다음 사람에게 도움이되기를 바랍니다.

관련 문제