에 대해 DataContracts를 정의하는 최선의 방법에 대한 지침이 필요합니다. 1. 원시 데이터를 업로드 할 웹 메서드가 두 개 있습니다. 2.이 데이터는 특정 계산을위한 서버. 즉, 항목은 계산 집합을 가지고 있습니다. 3. 항목 엔티티에 계산 엔티티 집합이있는 것과 같은 엔티티 설계가 있습니다. 컬렉션이 DataMember로 표시되어 있지 않습니다. 4. GetItemDetails 메서드는 계산 컬렉션과 함께 각 항목을 반환합니다. 5. Item은 내 비즈니스 로직 작업에 사용되는 주요 주체이지만 계산 컬렉션은 서버 측에서 생성되어 수요에 따라 반환되어야하는 데이터이므로 Upload 및 GetItemDetails 작업에 대해 2 개의 differet DataContracts를 정의하는 결과가되었습니다. (GetItemDetails). 데이터를 처리하기 때문에 계산 컬렉션에 입력이 없으므로 업로드시 공개하는 것은 적절하지 않은 것처럼 보입니다. 6. GetItemDetails 메서드에서 'Item'엔티티를 사용하고 resp를 사용하여 항목 컬렉션을로드합니다. 계산 컬렉션을 생성 한 다음이를 항목 및 컬렉션이 모두 공개 된 내 출력 datacontract로 변환합니다.WCF 입력/출력 데이터 정의 정의 지침
이 접근법은 동일한 엔터티 표현에 대해 2 개의 데이터 계약을 유지해야한다는 단점이 있습니다. GetItemDetails 메서드에 대한 Calculation 컬렉션에 DataMember 특성을 동적으로 추가하는 옵션을 성공적으로 검색하려고했습니다. 시나리오가 명확하면 좋겠습니다. 내 질문은 이러한 시나리오에서 데이터 계약을 정의하는 가장 좋은 방법은 무엇이며 클라이언트는 업로드 및 가져 오기에 대해 동일한 entiy를 나타내는 두 개의 다른 프록시 클래스를 처리 할 필요가 없습니다. 사용자가 내 업로드 작업에 제공 할 것으로 예상되지 않더라도 업로드 계약이 Calculation 컬렉션을 공개하고 (그리고 나서 Calculation 컬렉션을 무시하는) 동일한 엔티티가 둘 다에 사용되는 경우 올바른 솔루션일까요?
감사의 말 :