2014-10-08 3 views
0

내 문서의 하위 개체 ID를 생성해야합니다. 문서 키를 생성하는 현재 구문은 무엇입니까?RavenDb GenerateDocumentKey

session.Advanced.Conventions.GenerateDocumentKey(document)은 더 이상 존재하지 않습니다. 나는 _documentSession.Advanced.DocumentStore.Conventions.GenerateDocumentKey 메서드를 찾았지만 그 시그니처는 이상하다. 나는 단지 객체를 전달하고 ID를 받기를 원한다는 기본 키 생성 알고리즘으로 괜찮다.

답변

2

GenerateDocumentKey의 기본 구현은 클래스의 "동적 태그 이름"을 가져 와서 슬래시를 추가하는 것입니다. 예를 들어 클래스 Foo은 으로 바뀌고 HiLoKeyGenerator을 거쳐 매번 서버를 참조하지 않고 클라이언트 측에서 ID를 할당 할 수 있습니다.

정말로이 동작을 원할 경우 HiLoKeyGenerator를 직접 사용해 볼 수도 있지만 더 간단한 것으로 생각해 봤습니까? 나는 당신의 모델이 무엇인지 모르겠지만, 자식 것은 완전히 포함 된 문서를 소유 한 경우 (그것이 있어야하는, 같은 문서에있을) 당신이 몇 가지 더 쉽게 옵션이 있습니다

  1. 을 그냥 ,보고, 사람들이 읽을 수있는 재미, 유형 없지만
  2. 그냥하는 Guid를 사용할 때마다 당신이 ChildThing를 추가 문서 및 증가에 int NextChildThingId 속성을 유지 컬렉션
  3. 내에서 인덱스를 사용하여 비교하거나 말 전화로 누군가에게.