2017-05-06 1 views
0

아드리안 홀의 책에는 하위 오브젝트로 오브젝트를 가져 오는 샘플이 있습니다. 은이 경우는 다음과 같습니다 : 당신이 볼 수 있듯이, 복잡한 데이터 및 여러 장비를 하나 개의 고객이확장 된 엔티티를 NoSql에 저장하십시오.

public class JobDTO : EntityData 
{ 
    public string AgentId { get; set; } 
    public DateTimeOffset? StartTime { get; set; } 
    public DateTimeOffset? EndTime { get; set; } 
    public string Status { get; set; } 
    public string Description { get; set; } 

    public virtual CustomerDTO Customer { get; set; } 
    public virtual List<EquipmentDTO> Equipments { get; set; } 
} 

.

클라이언트 측에서는 이와 같은 복잡한 데이터를 nosql 오프라인 저장소에 저장할 수 있습니까?

답변

1

를 사용하여이 문서를 따라?

설명에 따르면, 나는 adrian hall의 책에서 을 확인했습니다. 또한, 나는 유사한 코드를 테스트 한, 다음과 같이 복잡한 데이터는 SQLite는 오프라인 저장소에 저장 될 수있다 : 오프라인 동기화, 원격 로컬 작업 테이블을 밀어 때, 관계 Customer 및 들어

enter image description here

// For incoming requests, ignore the relationships 
cfg.CreateMap<JobDTO, Job>()            
    .ForMember(job => job.Customer, map => map.Ignore()) 
    .ForMember(job => job.Equipments, map => map.Ignore()); 

Existing Table Relationships with the MappedEntityDomainManager으로 상태를 작업 테이블 동기화 할 :

다음과 같이 Equipments은 서버 측에 의해 무시 될 필요가

고객 및 장비 데이터는 모두 하나의 레코드로 기록됩니다. 이는 고객 및 장비 데이터가 읽기 전용임을 보장하는 부작용이 있습니다. 은 작업 테이블의 정보 만 업데이트 할 수 있습니다.

또한 Adrian Hall은 테이블을 개별적으로 처리하고 모바일 클라이언트에서 관계 관리를 수동으로 처리하는 것을 선호한다고 언급했습니다. 이로 인해 모바일 클라이언트에 더 많은 코드가 생성되지만 관계의 복잡성을 대부분 피함으로써 서버가 훨씬 간단 해집니다.

관련 문제