시나리오 : 데이터 모델의 엔터티가 다양한 정보가 포함 된 WCF 웹 서비스에 전달되고 데이터베이스에 저장 된 다음 추가 정보로 완전히 채워진 개체와 함께 반환됩니다. 이 예에서 입출력에 따라 WCF 웹 서비스에서 DataMember 속성을 변경 하시겠습니까?
public class Request
{
public virtual Guid RequestID { get; set; }
public virtual string RequestType { get; set; }
public virtual System.DateTime CreatedDate { get; set; }
//More properties here populated from DB
}
[OperationContract]
Request CreateRequest(Request input);
는 RequestID가 CreatedDate 및 초기 요구시에 보이지 않아야 따라서 레코드가 데이터베이스에 삽입 된 경우에만 채워하고있다. 그러나 객체가 반환 될 때 표시되어야합니다.
현재 접근법은 엔터티를 상속받은 웹 서비스 구현 프로젝트에 두 개의 클래스 (RequestInput, RequestOutput)를 생성하는 것입니다. 그런 다음 필요한 다양한 속성에 [DataMember] 특성을 추가하고 무시해야하는 특성에는 [IgnoreDataMember] 특성을 추가합니다.
올바른 방법입니까?
웹 서비스 요청 객체의 모델 요청 객체에 대한 추가 매핑이 코드 중복을 가져 오는 것으로 보입니다. –