내가 RavenDB에 외부 소스에서 데이터를 가져올 때 RavenDB 1.0.0.426RavenDB은 슬래시 끝이
난 그냥 이상한 시나리오를 경험 사용할 때 ID에 정수를 추가 외부 소스가 사용할 ID로서 특정 문자열 앞에 접두어가 붙습니다. 그러나. '/'로 끝나는 ID로 문서를 저장하면 까마귀가 자동으로 ID 끝에 숫자를 추가하여 동일한 ID로 저장된 기존 문서를 덮어 쓰지 않습니다.
내가 오류의 원인이 간단한 시나리오를 다시 한:
public class Foo
{
public string Id { get; set; }
public Foo(string id)
{
Id = id;
}
}
방법은 동일한 ID를 가진 문서를 저장 10 회, 그 후 문서의 수를 확인 :
는 유형 I 저장 :
public void RunTest(string id)
{
for (int i = 0; i < 10; i++)
{
using (var doc = new DocumentStore() { Url = "http://pc-009:8080/" })
{
doc.Initialize();
using (var session = doc.OpenSession())
{
session.Store(new Foo(id));
session.SaveChanges();
}
}
}
// Wait for the data to be persisted
Thread.Sleep(2000);
using (var doc = new DocumentStore() { Url = "http://pc-009:8080/" })
{
doc.Initialize();
using (var session = doc.OpenSession())
{
var foos = session.Query<Foo>();
int fooCount = foos.Count();
// ASSERT HERE THAT fooCount is 1
}
}
}
운전 방식을 실행 성공적으로 기존 덮어 문서 "ID1"와 D :
RunTest("id1"); // Works fine
"ID1은 /"데이터베이스에서 10 개 문서 작성 끝과 방법을 실행 : 내가 아는
RunTest("id1/"); // Results in multiple documents to be created
을 당신이하지 않으면 나만의 ID를 정의하면 까마귀가 즉시 doc-ids를 자동 생성하지만 위의 설명에 따라 설계된 동작입니까? /와 키 끝이, 그것은 정체성 생성 전략을 사용하는 ravendb 요청하면 미리
감사를 키 URL입니다 수 있습니다. 나는이 문제에있어서 유일하게 예약 된 인물이라고 생각하니? –