From 04fe581775fdee665b3126dc10ddee2d74199ce2 Mon Sep 17 00:00:00 2001 From: Tobias Klika Date: Mon, 16 Nov 2020 14:24:48 +0100 Subject: [PATCH] GUID-based ID generation --- zero.Core/Extensions/RavenDocumentStoreExtensions.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/zero.Core/Extensions/RavenDocumentStoreExtensions.cs b/zero.Core/Extensions/RavenDocumentStoreExtensions.cs index 973d1fb0..3077f23d 100644 --- a/zero.Core/Extensions/RavenDocumentStoreExtensions.cs +++ b/zero.Core/Extensions/RavenDocumentStoreExtensions.cs @@ -29,6 +29,13 @@ namespace zero.Core.Extensions store.Conventions.IdentityPartsSeparator = '.'; + store.Conventions.RegisterAsyncIdConvention((database, entity) => + { + var typeTagName = store.Conventions.GetCollectionName(entity); + var tag = store.Conventions.TransformTypeCollectionNameToDocumentIdPrefix(typeTagName); + return Task.FromResult(tag + store.Conventions.IdentityPartsSeparator + IdGenerator.Create()); + }); + (store.Conventions.Serialization as NewtonsoftJsonSerializationConventions).CustomizeJsonDeserializer = x => { x.Converters.Add(new RefJsonConverter());