2010-12-08 1 views
3

RIA DomainService를 만들고 여기에 Person (아래 그림 참조) 엔티티를 포함한다고 가정하면 해당 객체의 집계 엔티티에 액세스 할 수 있습니까? 내가 지금과 같은 개체가있는 경우 예를 들어DomainService를 만들고 엔터티를 노출하는 경우 집계 엔터티에 액세스 할 수 있습니까?

는, (이것은 순진한 표현을 있음을 유의하십시오, 그들은 EF4 디자이너를 통해 모델링) 다음 PeopleDomainService를 만들 때

public class Person 
{ 
    string FirstName { get; set; } 
    PhoneNumber { get; set; } 
} 

public class PhoneNumber 
{ 
    public string AreaCode { get; set; } 
    public string Trunk { get; set; } 
    public string Number { get; set; } 
} 

내가 Person을 포함하는 경우, 수 클라이언트가 PhoneNumber에 액세스하여 수정합니다.

답변

1

예, 관련 항목을 가져올 수 있습니다.

PeopleDomainService.metadata.cs 파일에서 PersonMetadata 클래스를 찾습니다. 의 PeopleDomainService.cs에서

[Include]: 
public EntityCollection<PhoneNumber> PhoneNumbers { get; set; } 

GetPersons 기능에 대해 살펴보고 PHONENUMBERS 포함하도록 수정하십시오 PHONENUMBERS 속성에서, "포함"속성을 추가

public IQueryable<Person> GetPersons() 
{ 
    return this.ObjectContext.Persons.Include("PhoneNumbers"); 
} 

당신은 찾을 수 있습니다 자세한 내용을 MSDN>Walkthrough: Taking a Tour of RIA Services> 관련 데이터 표시

+0

+1. 팁 고마워. 장래의 독자를 위해서, 나는 또한 [Include' 속성뿐만 아니라 [Association (name, thisKey, otherKey)] 속성을 콜렉션에 추가해야했습니다. –

2

Person 객체의 PhoneNumber 속성을 [Include] 속성으로 꾸밀 수 있습니다. 또한 Person 객체를 가져올 때 LINQ 쿼리에 include 문을 포함해야합니다.