1

나는 아주 간단한 데이터베이스에 도메인 서비스를 구축 GroupToEquipment N에게 N 나타나지 않고 장비에서 그룹으로 직접 연결됩니다. 여태까지는 그런대로 잘됐다. C# RIA 도메인 서비스에서 n : m 연관의 탐색 속성을 처리하는 방법은 무엇입니까? 내 자동 생성 edmx GroupToEquipment 엔티티 1 그룹</p> <p>을 :</p> <p>예약 N : 1 개 장비 1 : Silverlight5/RIA 서비스 응용 프로그램 내

이 (가) 1 장비에서 참조하도록하려면 : 내 DomainService 내 N 관련 예약을, 나는 [가 포함] 삽입했다하고 "DomainService.metadata.cs"내 [협회 ...]

[Include] 
[Association("FK_Booking_Equipment", "EquipmentId","EquipmentId")] 
public EntityCollection<Booking> Booking { get; set; } 

하고는 "DomainService.cs"내 .Include ("예약")를 추가

public IQueryable<Equipment> GetEquipment() 
{ 
    return this.ObjectContext.Equipment.Include("Booking"); 
} 

이 완벽하게 작동하고 장비를 쿼리 할 때 모든 예약에 대한 참조가로드됩니다! 그러나 어떻게 이것을 n : m Group-association에 채택해야합니까? DomainService에서

internal sealed class EquipmentMetadata 
    { 

     // Metadata classes are not meant to be instantiated. 
     private EquipmentMetadata() 
     { 
     } 

     [Include] 
     [Association("FK_Booking_Equipment", "EquipmentId","EquipmentId")] 
     public EntityCollection<Booking> Booking { get; set; } 

     public Guid EquipmentId { get; set; } 

     [Include] 
     [Association("GroupToEquipment", "EquipmentId", "GroupId")] 
     public EntityCollection<Group> Group { get; set; } 

     public string Name { get; set; } 
    } 
} 

이 :

public IQueryable<Equipment> GetEquipment() 
    { 
     return this.ObjectContext.Equipment.Include("Booking").Include("Group"); 
    } 

코드는 잘 컴파일하지만 거기

다음 코드는 그때 추가로 "DomainService.metadata.cs"내 뭘하려 장비를 조회 한 후 그룹에 대한 언급이 없습니다. :-(

내가 뭘 잘못하고 있었는지 ...이게 아는 사람에게는 작은 문제 일뿐입니다 ...

최고, Flo.

+0

예약에 대한 참조를 되찾았습니까? 나는 2 가지를 시도 할 것이다 : 1) Fiddler2를 실행하고 WCF Silverlight에서 반환되는 것을 살펴 본다. 2) [Association]을 제거한다. - 결코 그것을 포함 할 필요가 없다. –

+0

예약 참조가 포함되어있다. [Association]을 제거하면 컴파일이 실패합니다 ... – Flo

답변

0

미안하지만 WCF Ria는 m : n 관계를 지원하지 않습니다! this Nikhil kotary 답변 더보기

m : n 클래스를 만들고 수동으로 관계를 처리하는 것이 좋습니다. 즉, GroupToEquipment 엔티티를 db에서 edmx로, edmx에서 WCF Ria로 노출해야합니다.

이 옵션 스탠드 및 기타 코드에 종속성을 추가하는 것을 선호 할 수없는 경우

m2mria on codeplex에서 봐, 난 정말 기본 시나리오 그것을 시도하고 이것이,
을하는 데 도움이

희망 근무 마르코

+0

감사합니다. 그동안 솔루션의 서버 측에서 원하는 개선 사항을 작성하고 필터링 된 결과 집합을 도메인 서비스를 통해 보냈습니다. – Flo