コード例 #1
0
        public Task GenerateDocumentKeysForSaveChanges()
        {
            if (entitiesStoredWithoutIDs.Count != 0)
            {
                var entity = entitiesStoredWithoutIDs.First.Value;
                entitiesStoredWithoutIDs.RemoveFirst();

                InMemoryDocumentSessionOperations.DocumentMetadata metadata;
                if (tryGetValue(entity, out metadata))
                {
                    return(session.GenerateDocumentKeyForStorageAsync(entity)
                           .ContinueWith(task => metadata.Key = modifyObjectId(task.Result, entity, metadata.Metadata))
                           .ContinueWithTask(GenerateDocumentKeysForSaveChanges));
                }
            }

            return(new CompletedTask());
        }
コード例 #2
0
        public Task GenerateDocumentKeysForSaveChanges()
        {
            if (entitiesStoredWithoutIDs.Count != 0)
            {
                var entity = entitiesStoredWithoutIDs.First.Value;
                entitiesStoredWithoutIDs.RemoveFirst();

                DocumentInfo documentInfo;
                if (tryGetValue(entity, out documentInfo))
                {
                    return(session.GenerateDocumentKeyForStorageAsync(entity)
                           .ContinueWith(task => documentInfo.Id = modifyObjectId(task.Result, entity, documentInfo.Metadata))
                           .ContinueWithTask(GenerateDocumentKeysForSaveChanges));
                }
            }

            return(new CompletedTask());
        }