현재 SOAP enpoint를 노출하는 WCF 서비스가 있습니다. 이 웹 서비스에서 나는 다음과 같은 metthod 있습니다내 서비스에 DTO를 잘못 사용하고 있습니까?
public List<DataField> GetAvailableFields(string accountNumber, string accountKey, Models.Enums.CountryEnum country)
{
//Code that builds DataFields
return dataFields;
}
내 Datafields이
[DataContract]
public class DataField
{
public DataField()
{
AlternativeFields = new List<DataField>();
}
[DataMember]
public string FieldName { get; set; }
[DataMember]
public string Value { get; set; }
[DataMember]
public bool IsRequired { get; set; }
[DataMember]
public List<DataField> AlternativeFields { get; set; }
public DataField ParentField { get; set; }
}
같은 것을 보일 수를 그래서 나는이 개 질문이 있습니다.
1 : ParentField 참조가 ...이 내가 그
2를 직렬화 얼마나 잘 모르겠어요으로 갈 필요가 있다고 추측하고있다 : 그것은 다른 분야의 내 목록을 가지고 적절한가요? 이것은 본질적으로 DTO 내부의 DTO 목록입니다. 그러나 이것은 직렬화가 잘되어야하며 상호 운용성 문제가 없어야합니다. 일반적으로 DTO를 다른 DTO 안에 포함시키는 것은 나쁜 습관입니까?
내가 잘못하고있는 것을 지적 해 주셔서 감사합니다.