public void AttachRejectsMismatchedEntities() { var connection = TestConfiguration.GetConnection(); var tenantId = TestConfiguration.GetTenantId(); var context = new MongoDbTenantContext(connection, tenantId); var dbSet = new MongoDbTenantSet <DbSetModel>(context); var entities = new[] { new DbSetModel { Id = "abcd" }, new DbSetModel { Id = "efgh" } }; dbSet.AddRange(entities); context.SaveChanges(); ResetMongoDb(); context = new MongoDbTenantContext(connection, tenantId); dbSet = new MongoDbTenantSet <DbSetModel>(context); var result = dbSet.AsNoTracking().ToList(); result[0].TenantId = tenantId + "a"; Assert.ThrowsException <MultiTenantException>(() => context.AttachRange(result)); }
public void SuccessfullyAttachUntrackedEntities() { var connection = TestConfiguration.GetConnection(); var tenantId = TestConfiguration.GetTenantId(); var context = new MongoDbTenantContext(connection, tenantId); var dbSet = new MongoDbTenantSet <DbSetModel>(context); var entities = new[] { new DbSetModel { Id = "abcd" }, new DbSetModel { Id = "efgh" } }; dbSet.AddRange(entities); context.SaveChanges(); ResetMongoDb(); context = new MongoDbTenantContext(connection, tenantId); dbSet = new MongoDbTenantSet <DbSetModel>(context); var result = dbSet.AsNoTracking().ToList(); context.AttachRange(result); Assert.AreEqual(MongoFramework.Infrastructure.EntityEntryState.NoChanges, context.ChangeTracker.GetEntry(result[0]).State); Assert.AreEqual(MongoFramework.Infrastructure.EntityEntryState.NoChanges, context.ChangeTracker.GetEntry(result[1]).State); }