public async Task AddRelationshipsToNewEntityAsync()
        {
            var connection = TestConfiguration.GetConnection();
            var dbSet      = new MongoDbSet <CollectionIntegrationModel>();

            dbSet.SetConnection(connection);

            var entity = dbSet.Create();

            entity.Description = "AddRelationshipsToNewEntityAsync";

            entity.ObjectIdModelEntities.Add(new ObjectIdIdModel
            {
                Description = "AddRelationshipsToNewEntityAsync-ObjectIdIdModel-1"
            });
            entity.ObjectIdModelEntities.Add(new ObjectIdIdModel
            {
                Description = "AddRelationshipsToNewEntityAsync-ObjectIdIdModel-2"
            });

            await dbSet.SaveChangesAsync().ConfigureAwait(false);

            var dbEntity = dbSet.Where(e => e.Id == entity.Id).FirstOrDefault();

            Assert.AreEqual(2, dbEntity.ObjectIdModelEntities.Count);
            Assert.IsTrue(dbEntity.ObjectIdModelEntities.All(e => e.Id != ObjectId.Empty));
        }
Esempio n. 2
0
        public async Task SuccessfulInsertAndQueryBackAsync()
        {
            var dbSet = new MongoDbSet <MongoDbSetValidationModel>();

            dbSet.SetConnection(TestConfiguration.GetConnection());

            dbSet.Add(new MongoDbSetValidationModel
            {
                RequiredField = "ValueAsync"
            });

            Assert.IsFalse(dbSet.Any(m => m.RequiredField == "ValueAsync"));
            await dbSet.SaveChangesAsync().ConfigureAwait(false);

            Assert.IsTrue(dbSet.Any(m => m.RequiredField == "ValueAsync"));
        }
Esempio n. 3
0
#pragma warning restore CRR0026 // Unused member - used via Reflection

#pragma warning disable CRR0026 // Unused member - used via Reflection
        private async Task CommitRelationshipAsync <TRelatedEntity>(EntityRelationship relationship, IEnumerable <TEntity> entities, CancellationToken cancellationToken) where TRelatedEntity : class
        {
            var collection = BuildRelatedEntityCollection <TRelatedEntity>(relationship, entities);

            cancellationToken.ThrowIfCancellationRequested();

            if (collection.Any())
            {
                var dbSet = new MongoDbSet <TRelatedEntity>();
                dbSet.SetConnection(Connection);
                dbSet.AddRange(collection);
                await dbSet.SaveChangesAsync(cancellationToken).ConfigureAwait(false);
            }

            if (!relationship.IsCollection)
            {
                ApplyForeignKeyChanges <TRelatedEntity>(relationship, entities);
            }
        }