3
일반적인 Order 및 OrderLine의 경우 각 OrderLine에는 상위 Order에 대한 참조가 있습니다. OrderLine을 RavenDB에 저장하면 전체 Order 레코드의 복사본을 각 OrderLine의 속성으로 저장합니다. 대신 주문에 대한 링크 만 저장하도록하려면 어떻게해야합니까? 이처럼 : 대신 비 관계형 데이터베이스에이문서 사본을 저장하는 대신 상위 문서에 대한 참조 저장
{
...other orderline properties...
Order : {
...all properties for order 123...
}
}
물론 Matt입니다.하지만 링크에서 언급하더라도 OrderLine 섹션은 해당 제품의 모든 속성 사본을 저장하는 대신 해당 제품에 대한 참조를 저장합니다. 내 OrderLine 클래스에 Product 유형의 Product 속성이있는 경우 어떻게 구현합니까? 대신 문자열 형식의 ProductID 속성을 갖도록 내 OrderLine 클래스를 변경해야합니까? –
주문 행의 제품 정보가 주문 당시의 상태와 정확히 일치한다고 생각하십시오. 제품이 변경되거나 삭제 된 경우 과거 주문이나 주문 행에 영향을 미치지 않아야합니다. 따라서 필요한 제품의 필드를 주문 행에 복제해야합니다. 참조 목적으로 'ProductId'를 원할 수도 있지만 제품 설명과 가격을 주문서에 별도로 비정규 화해야합니다. 이것을위한 컨테이너 클래스 (예 :'ProductRef')를 만들 수도 있고, 필드를 개별적으로 저장할 수도 있습니다. –
또한 [this] (http://ravendb.net/docs/client-api/querying/handling-document-relationships) –