서버의 DTO (데이터 전송 개체)로 작업하고 있습니다.RoundTripOriginalAttribute가 서버에 원래 값을 반환하지 않음
내가 달성하려고하는 scenerio는 내 PersonDTO 개체에 Addresses 목록이 있으며 주소 목록에 새 항목을 삭제하거나 추가하면 서버에서 몇 가지 추가 구현을 수행하고 싶습니다. . 그래서, 나는 [RoundTripOriginial]을 사용하고 있습니다. MSDN에서와 같이, 업데이트 된 객체와 함께 서버에 원래의 객체를 반환 할 것이라고 말합니다.
참고 : 원래 개체를 가져 오기 위해 데이터베이스 호출을하고 싶지 않습니다.
다음은 DomainService
[Update]
public void UpdatePersonDTO(PersonDTO person)
{
PersonDTO originalPerson = this.ChangeSet.GetOriginal(person);
}
에 내 샘플 구조,
[RoundtripOriginal]
Public Class PersonDTO
{
[Include]
[Composition]
[Association("PersonDTO_AddressDTO", "Id", "ReferenceId")]
public List<Address> Addresses
{ get
{
if (addressed== null)
addressed= new List<Address>();
return addressed;
}
set { addressed= value; }
}
}
입니다 단, GetOriginal는 '널'나를 반환
내가 여기서 뭔가를 놓친 거지.제안/도움이 어떤 종류의 대단히 감사하겠습니다. 미리 감사드립니다.
연관성이있는 컬렉션 속성에 특성을 넣으려고 할 때. "Association Members는 RoundTripOriginal로 표시 할 수 없습니다"라는 컴파일 오류가 발생합니다. – crazy9
맞습니다. 그것은 "프리미티브"속성에 사용하기위한 것입니다. 연결은 "라운드 트립"될 수 없습니다. 대신 연결의 기본 속성에 RoundTripOriginalAttribute를 넣어야합니다. – mCasamento
감사합니다. @mCasamento – crazy9