views:

99

answers:

1

I'm trying migrating an existing web application to use RavenDB.

I currently have pages in my web application which allow you to view Categories, SubCategories and Resources based on an id in the querystring.

However I notice that RavenDB generates ids for aggregate roots, but not for child entities.

I don't think subcategory is an aggregate root (a Category has SubCategories), so am making it a sub-document of my Category document.

Am I wrong to make it a sub-document as I'm accessing it directly by its id passed in on the querystring? But if not, how should I access individual SubCategories as RavenDB does not seem to generate ids for entities that are not aggregate roots?

+3  A: 

There's a long but interesting discussion over on the Raven mailing list about this exact situation.

The short answer is that Raven isn't designed to do this, only root entities get an id, everything else is treated as a value type. But you can implement it yourself, see the code sample at the end of the thread for info.

Matt Warren
Thanks Matt. That describes my situation exactly. I'll up-vote your answer once I have enough reputation.
Andy