I'm evaluating RavenDB for a new project.
If i create 100 entities i got great consecutive ids like :
But if i build a new DocumentStore instance (after App Restart) and try to create new entities i got strange ids like this :
Any help ?
Note : I'm using Embedded Server with ASP.NET MVC 3
This is by design - new HiLo keys are generated whenever you create a DocumentStore instance, so the gaps you are seeing are the unused ids from the other session.
Why do you care for consecutive ids?
This may be a good read on the subject, too: http://groups.google.com/group/ravendb/browse_thread/thread/3dbcacbc8b366ff8/
From the RavenDb documents, you're after the Identity strategy.
RavenDB also supports the notion of Identity, for example if you need IDs to be consecutive. By creating a string Id property in your entity, and setting it to a value ending with a slash (/), you can tell RavenDB to use that as a key perfix for your entity. That prefix followed by the next available integer ID for it will be your entity's ID after you call SaveChanges().
eg.
var foo = new Foo();
foo.Id = "foo/"; // <-- this will use the Identity strategy, not HiLo.
session.Store(foo);
session.SaveChanges();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With