I am experimenting with Mongodb and NoRM in C#.
From what I have read the ObjectId that uniquely identifies a document in Mongodb is a sort of "special" Guid (in the sense that is unique) but has some significant parts in it that permit a more easy sorting and indexing (timestamp,machine hash,processId and increment in it).
I'd like to keep my objects really POCO with an autogenerated Guid as Id so with no external types like ObjectId that would prevent me to migrate to another technology or go back to classic Ado.net or Nhibernate stuff.
Another option would be to use in the POCO an Id as string and use ObjectId.NewObjectId().ToString()
What are the best practices for it?