세 가지 다른 엔티티 유형의 세 가지 목록 인 세 가지 속성을 사용하여 메시지 객체를 만들었습니다. 검색 기준에 맞는 모든 엔터티를 반환하는 검색을 모두 수행하려고하기 때문에 메시지 클래스를 만들었습니다. 하나의 호출에서 이것을하고 싶습니다. 세 개의 호출 (각 엔티티마다 하나씩)이 별도의 호출이 아닙니다. 컴파일되고 클라이언트 측 디자이너가 엔터티, 서비스의 Search All 메서드, 메시지 개체 클래스를 생성하지만 메시지 개체 속성은 생성하지 않습니다. RIA Services에서 이것이 가능합니까? 그렇다면 왜 내가 뭘 잘못하고 왜 설명 할 수 있습니까? 감사!RIA 서비스 EF 속성 목록으로 엔티티 목록이있는 MessageObject 만들기
서버 측 클래스 선언 :
[Serializable]
[DataContract(IsReference = true)]
public class SearchAllMessage
{
[DataMember]
public List<Entity1> Entity1List { get; set; }
[DataMember]
public List<Entity2> Entity2List { get; set; }
[DataMember]
public List<Entity3> Entity3List { get; set; }
}
클라이언트 측 디자이너에서 생성 한 코드 :
/// <summary>
/// The 'SearchAllMessage' class.
/// </summary>
[DataContract(Namespace="http://schemas.datacontract.org/2004/07/SharebackMaintenance.RiaService.Web")]
public sealed partial class SearchAllMessage : ComplexObject
{
#region Extensibility Method Definitions
/// <summary>
/// This method is invoked from the constructor once initialization is complete and
/// can be used for further object setup.
/// </summary>
partial void OnCreated();
#endregion
/// <summary>
/// Initializes a new instance of the <see cref="SearchAllMessage"/> class.
/// </summary>
public SearchAllMessage()
{
this.OnCreated();
}
}
서비스의 메소드 서명 :
[Invoke]
public SearchAllMessage SearchAll(string fiterA, string filterB, int filterC)
에드 주셔서 감사합니다. 나는 [ComplexTypeAttribute]를 클래스에 추가했고 지금 클라이언트 측 생성 파일에 "-"System.ComponentModel.DataAnnotations.ComplexTypeAttribute "특성이 클라이언트 프로젝트 'MyProject.RiaService'에 표시되지 않습니다. 어셈블리 참조가 누락 되었습니까? ComplexTypeAttribute 클래스가있는 Silverlight 4 dll을 찾을 수 없습니다. Silverlight 4 dll이 그 속성을 가지고 있는지 알고 있습니까? 이 클래스를 MyDomainService.metadata.cs 파일에도 추가해야합니까? – zBomb
BTW WCF RIA Servics V1.0 SP2 – zBomb
죄송합니다. 특성은 EntityFramework DLL에 있습니다. 지금까지는 System.ComponentModel.DataAnnotations 또는 WCF RIA 어셈블리에서 온 것으로 가정했습니다. –