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());