2016-09-23 1 views
1

나는 다음과 같은 클래스가이 모의 시나리오를 생각해보십시오. 나는 다음에, 주소를 분할하여 내 사람 모델을 변경하려면 : 다음 두 ReliableDictionaries, 사람을위한 하나 주소를했을ReliableDictionary에서 모델을 업데이트하려면 어떻게해야합니까?</p> <pre><code>public class Person { public Guid Id {get;set;} public string Name {get;set;} public Address Address {get;set;} } </code></pre> <p>나는 현재 ReliableDictionary (GUID, 사람)이 있습니다

public class Person { 
    public Guid Id {get;set;} 
    public string Name {get;set;} 
} 

public class Address { 
    public Guid Id {get;set;} 
    public string Street {get;set;} 
    ... 
} 

.

이러한 엔티티를 분할하고 업그레이드하는 동안 데이터를 마이그레이션하는 적절한 방법은 무엇입니까? 이것에 관한 문서가있는 것처럼 느껴졌지만 더 이상 찾을 수 없습니다.

감사합니다.

+0

이것은 중요한 기사입니다. https://azure.microsoft.com/en-us/documentation/articles/service-fabric-work-with-reliable-collections/ – LoekD

답변

2

중요한 요구 사항은 모델에 이전 버전과의 호환성이 필요하다는 것입니다. 저장된 모델은 모델 변경에 관계없이로드 할 수 있어야합니다.

저장된 모델을 모두 변환하려면 저장된 모델을 반복하고 변경 한 다음 다시 저장해야합니다. 이를 위해 특정 코드를 작성해야합니다. 이것은 마이크로 서비스에 포함되거나, 데이터를 보유하고있는 마이크로 서비스를 호출하는 임시 마이크로 서비스를 생성 할 수 있습니다. 변환이 완료되면 코드 또는 마이크로 서비스를 제거 할 수 있습니다.

'즉시 수행'할 수도 있습니다. 제작 중에 모델이로드 될 때마다 버전 번호를 확인합니다 (모델에 버전 필드를 지정해야 함). 버전이 특정 값 아래에 있으면 변환하십시오.

관련 문제

 관련 문제