글쎄 개인적으로 사업용 모델의 Plain Old ClR Objects POCO를 사용하고 싶습니다.
using System.ComponentModel.DataAnnotations;
위 네임 스페이스는 개체에도 유효성 검사를 제공합니다. 엔터프라이즈 응용 프로그램 유효성 검사 블록이 있지만이를 Silverlight 클라이언트 측에 통합하는 방법을 알지 못했습니다.
하지만 비즈니스 모델을 만들고 DataAnnotations로 장식 한 다음이 비즈니스 모델을 다시 사용할 수 있다는 이점이 있습니다.
이것은 POCO를 허용하지 않으므로 Hibernate와 함께 곧바로 상자에 들어갈 수 있지만 EF는 들어 가지 않습니다. Linq-to_Sql은 믿을 수 있지만 SQL Metal 또는 Linq-To_Sql의 특정 메타 데이터를 사용하여 매핑 파일을 사용해야합니다.
문제 중 하나는 물론 문제가 아니라 오히려 시나리오에서 Silverlight와 서버 간의 통신을 위해 WCF를 사용한다는 것입니다. 이렇게하면 생성 된 코드 기반의 서비스가 제공되며 변경하면 다음에 서비스를 업데이트 할 때 변경 사항이 손실됩니다.
MetaDataType을 사용하면 Silverlight에서 사용할 수있는 것을 볼 수 있는데, 생성시 클래스를 장식 할 때 재생할 때 작업을 손실하지 않고 사용할 수 있습니다.
WCF에서 .NET에서 .NET으로 작업하는 경우 더 많은 기능을 사용할 수 있지만 상호 운용성을 위해 유효성 검사 및 오류 반환이 필요한 경우 HasErrors 및 Error [] 속성이 포함 된 기본 응답 클래스가 있습니다. . 저는 현재 다음과 같은 일을 오전 :
실버 : - 생성 된 WCF 서비스 프록시 -의 ViewModel 세터와 게터 차단 서비스 프록시 클래스 랩 - System.ComponentModel를 사용하여 클라이언트 측 유효성 검사를 적용합니다.DataAnnotations
비즈니스 모델 : 는 - 내가 NHibernate에 와 POCO을 사용하고 - - 나는 엔터프라이즈 응용 프로그램 검증 블록 를 사용하고 난 HasErrors 및 오류 속성
WCF와 기본 도메인 클래스가 있습니다 를 - 내가
AddClientResponse AddClient(AddClientRequest request)
즉, 요청 및 응답을 사용하기 DTO를 사용하여 실버 라이트는 WCF 서비스 하다니 WCF 서비스는 비즈니스 및 데이터 액세스 계층을 사용하는 저장소를 소모 소모한다.
위와 같이 플렉스 클라이언트를 사용하여 롤아웃 할 수 있으며 Flex 클라이언트 측에서 데이터 유효성 검사를 처리하지 않으면 클라이언트는 여전히 기본 응답 클래스에서 오류를 다시 수신합니다. 그런 다음 클라이언트 측 유효성 검사를 수행하거나 서버에서 반환 된 오류를 처리해야합니다. 클라이언트 측은 왕복을 절약합니다.
[DataContract]
public class BaseResponse
{
[DataMember]
public Error[] Errors { get; set; }
[DataMember]
public Boolean HasErrors { get; set; }
}
희망이 있습니다.
나는 :-) 롤 항상 자신 지식 탐구에 답장을
앤드류
감사입니다. 베타 버전에서 주석 경로를 시작했지만 어떤 이유로 릴리스에서 제거되었습니다. 나는 RIA 서비스 릴리스가 이것을 다시 넣을 수 있기를 바란다. 나는 사람들이 의미하는 시간에 대해 궁금해했다. 또한 MVC 릴리스 2가 메타 도우미 클래스를 통해 주석을 사용하고있는 것처럼 보입니다. 서비스 측면의 검증은 다양한 옵션을 통해 손쉽게 수행 할 수 있습니다. 클라이언트 측 (즉, 탭 오프하자마자)은 모든 UI 옵션에 대해 현재 수동 프로세스 인 것으로 보입니다. xval 프레임 워크는 MVC에서 이것을 도와주는 것 같다. –