React to EF dynamic services changes

This commit is contained in:
ajcvickers 2014-11-25 13:34:34 -08:00
parent eb99bf25a3
commit e6fdb8cbd2
3 changed files with 11 additions and 9 deletions

View File

@ -83,9 +83,8 @@ namespace Microsoft.AspNet.Diagnostics.Entity
{ {
var databaseExists = dbContext.Database.AsRelational().Exists(); var databaseExists = dbContext.Database.AsRelational().Exists();
var contextServices = ((IDbContextServices)dbContext).ScopedServiceProvider; var databaseInternals = (IMigrationsEnabledDatabaseInternals)dbContext.Database;
var services = (MigrationsDataStoreServices)contextServices.GetRequiredService<DbContextConfiguration>().DataStoreServices; var migrator = databaseInternals.Migrator;
var migrator = services.Migrator;
var pendingMigrations = migrator.GetPendingMigrations().Select(m => m.GetMigrationId()); var pendingMigrations = migrator.GetPendingMigrations().Select(m => m.GetMigrationId());

View File

@ -14,6 +14,7 @@ using Microsoft.AspNet.Http;
using Microsoft.AspNet.TestHost; using Microsoft.AspNet.TestHost;
using Microsoft.Data.Entity; using Microsoft.Data.Entity;
using Microsoft.Data.Entity.Infrastructure; using Microsoft.Data.Entity.Infrastructure;
using Microsoft.Data.Entity.Migrations;
using Microsoft.Data.Entity.Migrations.Infrastructure; using Microsoft.Data.Entity.Migrations.Infrastructure;
using Microsoft.Data.Entity.Utilities; using Microsoft.Data.Entity.Utilities;
using Microsoft.Framework.DependencyInjection; using Microsoft.Framework.DependencyInjection;
@ -159,9 +160,9 @@ namespace Microsoft.AspNet.Diagnostics.Entity.Tests
{ {
using (var db = context.ApplicationServices.GetService<BloggingContextWithPendingModelChanges>()) using (var db = context.ApplicationServices.GetService<BloggingContextWithPendingModelChanges>())
{ {
var contextServices = ((IDbContextServices)db).ScopedServiceProvider; var databaseInternals = (IMigrationsEnabledDatabaseInternals)db.Database;
var services = (MigrationsDataStoreServices)contextServices.GetRequiredService<DbContextConfiguration>().DataStoreServices; var migrator = databaseInternals.Migrator;
services.Migrator.ApplyMigrations(); migrator.ApplyMigrations();
db.Blogs.Add(new Blog()); db.Blogs.Add(new Blog());
db.SaveChanges(); db.SaveChanges();

View File

@ -12,6 +12,7 @@ using Microsoft.AspNet.Http;
using Microsoft.AspNet.TestHost; using Microsoft.AspNet.TestHost;
using Microsoft.Data.Entity; using Microsoft.Data.Entity;
using Microsoft.Data.Entity.Infrastructure; using Microsoft.Data.Entity.Infrastructure;
using Microsoft.Data.Entity.Migrations;
using Microsoft.Data.Entity.Migrations.Infrastructure; using Microsoft.Data.Entity.Migrations.Infrastructure;
using Microsoft.Data.Entity.Migrations.Utilities; using Microsoft.Data.Entity.Migrations.Utilities;
using Microsoft.Data.Entity.Utilities; using Microsoft.Data.Entity.Utilities;
@ -101,9 +102,10 @@ namespace Microsoft.AspNet.Diagnostics.Entity.Tests
Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); Assert.Equal(HttpStatusCode.NoContent, response.StatusCode);
Assert.True(db.Database.AsRelational().Exists()); Assert.True(db.Database.AsRelational().Exists());
var contextServices = ((IDbContextServices)db).ScopedServiceProvider;
var dataStoreServices = (MigrationsDataStoreServices)contextServices.GetRequiredService<DbContextConfiguration>().DataStoreServices; var databaseInternals = (IMigrationsEnabledDatabaseInternals)db.Database;
var appliedMigrations = dataStoreServices.Migrator.GetDatabaseMigrations(); var migrator = databaseInternals.Migrator;
var appliedMigrations = migrator.GetDatabaseMigrations();
Assert.Equal(2, appliedMigrations.Count); Assert.Equal(2, appliedMigrations.Count);
Assert.Equal("111111111111111_MigrationOne", appliedMigrations.ElementAt(0).GetMigrationId()); Assert.Equal("111111111111111_MigrationOne", appliedMigrations.ElementAt(0).GetMigrationId());
Assert.Equal("222222222222222_MigrationTwo", appliedMigrations.ElementAt(1).GetMigrationId()); Assert.Equal("222222222222222_MigrationTwo", appliedMigrations.ElementAt(1).GetMigrationId());