[master] Update dependencies from dotnet/efcore (#20107)

* Update dependencies from https://github.com/dotnet/efcore build 20200324.2

- Microsoft.EntityFrameworkCore.Tools - 5.0.0-preview.3.20174.2
- Microsoft.EntityFrameworkCore.SqlServer - 5.0.0-preview.3.20174.2
- dotnet-ef - 5.0.0-preview.3.20174.2
- Microsoft.EntityFrameworkCore - 5.0.0-preview.3.20174.2
- Microsoft.EntityFrameworkCore.InMemory - 5.0.0-preview.3.20174.2
- Microsoft.EntityFrameworkCore.Relational - 5.0.0-preview.3.20174.2
- Microsoft.EntityFrameworkCore.Sqlite - 5.0.0-preview.3.20174.2

* Update dependencies from https://github.com/dotnet/efcore build 20200324.3

- Microsoft.EntityFrameworkCore.Tools - 5.0.0-preview.3.20174.3
- Microsoft.EntityFrameworkCore.SqlServer - 5.0.0-preview.3.20174.3
- dotnet-ef - 5.0.0-preview.3.20174.3
- Microsoft.EntityFrameworkCore - 5.0.0-preview.3.20174.3
- Microsoft.EntityFrameworkCore.InMemory - 5.0.0-preview.3.20174.3
- Microsoft.EntityFrameworkCore.Relational - 5.0.0-preview.3.20174.3
- Microsoft.EntityFrameworkCore.Sqlite - 5.0.0-preview.3.20174.3

* Update dependencies from https://github.com/dotnet/efcore build 20200324.4

- Microsoft.EntityFrameworkCore.Tools - 5.0.0-preview.3.20174.4
- Microsoft.EntityFrameworkCore.SqlServer - 5.0.0-preview.3.20174.4
- dotnet-ef - 5.0.0-preview.3.20174.4
- Microsoft.EntityFrameworkCore - 5.0.0-preview.3.20174.4
- Microsoft.EntityFrameworkCore.InMemory - 5.0.0-preview.3.20174.4
- Microsoft.EntityFrameworkCore.Relational - 5.0.0-preview.3.20174.4
- Microsoft.EntityFrameworkCore.Sqlite - 5.0.0-preview.3.20174.4

* Update dependencies from https://github.com/dotnet/efcore build 20200324.5

- Microsoft.EntityFrameworkCore.Tools - 5.0.0-preview.3.20174.5
- Microsoft.EntityFrameworkCore.SqlServer - 5.0.0-preview.3.20174.5
- dotnet-ef - 5.0.0-preview.3.20174.5
- Microsoft.EntityFrameworkCore - 5.0.0-preview.3.20174.5
- Microsoft.EntityFrameworkCore.InMemory - 5.0.0-preview.3.20174.5
- Microsoft.EntityFrameworkCore.Relational - 5.0.0-preview.3.20174.5
- Microsoft.EntityFrameworkCore.Sqlite - 5.0.0-preview.3.20174.5

* React to EF Migrations breaking changes

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: AndriySvyryd <Andriy.Svyryd@microsoft.com>
This commit is contained in:
dotnet-maestro[bot] 2020-03-25 03:19:39 +00:00 committed by GitHub
parent 196f4489e1
commit 30c5484424
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 64 additions and 33 deletions

View File

@ -29,33 +29,33 @@
<Uri>https://github.com/dotnet/aspnetcore-tooling</Uri>
<Sha>dcbab464643d971765e77562d2d0854c6ae112f7</Sha>
</Dependency>
<Dependency Name="dotnet-ef" Version="5.0.0-preview.3.20170.2">
<Dependency Name="dotnet-ef" Version="5.0.0-preview.3.20174.5">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>ac4633559b117b92156d75f07b7ef81dc920b4fd</Sha>
<Sha>21b9a35db594f7a383e855f922babbe54b3d38c5</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.0-preview.3.20170.2">
<Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.0-preview.3.20174.5">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>ac4633559b117b92156d75f07b7ef81dc920b4fd</Sha>
<Sha>21b9a35db594f7a383e855f922babbe54b3d38c5</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="5.0.0-preview.3.20170.2">
<Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="5.0.0-preview.3.20174.5">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>ac4633559b117b92156d75f07b7ef81dc920b4fd</Sha>
<Sha>21b9a35db594f7a383e855f922babbe54b3d38c5</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.0-preview.3.20170.2">
<Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.0-preview.3.20174.5">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>ac4633559b117b92156d75f07b7ef81dc920b4fd</Sha>
<Sha>21b9a35db594f7a383e855f922babbe54b3d38c5</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.0-preview.3.20170.2">
<Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.0-preview.3.20174.5">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>ac4633559b117b92156d75f07b7ef81dc920b4fd</Sha>
<Sha>21b9a35db594f7a383e855f922babbe54b3d38c5</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="5.0.0-preview.3.20170.2">
<Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="5.0.0-preview.3.20174.5">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>ac4633559b117b92156d75f07b7ef81dc920b4fd</Sha>
<Sha>21b9a35db594f7a383e855f922babbe54b3d38c5</Sha>
</Dependency>
<Dependency Name="Microsoft.EntityFrameworkCore" Version="5.0.0-preview.3.20170.2">
<Dependency Name="Microsoft.EntityFrameworkCore" Version="5.0.0-preview.3.20174.5">
<Uri>https://github.com/dotnet/efcore</Uri>
<Sha>ac4633559b117b92156d75f07b7ef81dc920b4fd</Sha>
<Sha>21b9a35db594f7a383e855f922babbe54b3d38c5</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.Analyzer.Testing" Version="5.0.0-preview.3.20170.1" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
<Uri>https://github.com/dotnet/extensions</Uri>

View File

@ -139,13 +139,13 @@
<MicrosoftExtensionsPrimitivesPackageVersion>5.0.0-preview.3.20170.1</MicrosoftExtensionsPrimitivesPackageVersion>
<MicrosoftInternalExtensionsRefsPackageVersion>5.0.0-preview.3.20170.1</MicrosoftInternalExtensionsRefsPackageVersion>
<!-- Packages from dotnet/efcore -->
<dotnetefPackageVersion>5.0.0-preview.3.20170.2</dotnetefPackageVersion>
<MicrosoftEntityFrameworkCoreInMemoryPackageVersion>5.0.0-preview.3.20170.2</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
<MicrosoftEntityFrameworkCoreRelationalPackageVersion>5.0.0-preview.3.20170.2</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
<MicrosoftEntityFrameworkCoreSqlitePackageVersion>5.0.0-preview.3.20170.2</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>5.0.0-preview.3.20170.2</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
<MicrosoftEntityFrameworkCoreToolsPackageVersion>5.0.0-preview.3.20170.2</MicrosoftEntityFrameworkCoreToolsPackageVersion>
<MicrosoftEntityFrameworkCorePackageVersion>5.0.0-preview.3.20170.2</MicrosoftEntityFrameworkCorePackageVersion>
<dotnetefPackageVersion>5.0.0-preview.3.20174.5</dotnetefPackageVersion>
<MicrosoftEntityFrameworkCoreInMemoryPackageVersion>5.0.0-preview.3.20174.5</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
<MicrosoftEntityFrameworkCoreRelationalPackageVersion>5.0.0-preview.3.20174.5</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
<MicrosoftEntityFrameworkCoreSqlitePackageVersion>5.0.0-preview.3.20174.5</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>5.0.0-preview.3.20174.5</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
<MicrosoftEntityFrameworkCoreToolsPackageVersion>5.0.0-preview.3.20174.5</MicrosoftEntityFrameworkCoreToolsPackageVersion>
<MicrosoftEntityFrameworkCorePackageVersion>5.0.0-preview.3.20174.5</MicrosoftEntityFrameworkCorePackageVersion>
<!-- Packages from dotnet/aspnetcore-tooling -->
<MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>5.0.0-preview.3.20170.3</MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>
<MicrosoftAspNetCoreRazorLanguagePackageVersion>5.0.0-preview.3.20170.3</MicrosoftAspNetCoreRazorLanguagePackageVersion>

View File

@ -13,6 +13,9 @@ using Microsoft.AspNetCore.Http;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Diagnostics;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Metadata.Conventions;
using Microsoft.EntityFrameworkCore.Metadata.Conventions.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.Extensions.Logging;
@ -138,13 +141,36 @@ namespace Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore
var migrationsAssembly = context.GetService<IMigrationsAssembly>();
var modelDiffer = context.GetService<IMigrationsModelDiffer>();
var snapshotModel = migrationsAssembly.ModelSnapshot?.Model;
if (snapshotModel is IConventionModel conventionModel)
{
var conventionSet = context.GetService<IConventionSetBuilder>().CreateConventionSet();
var typeMappingConvention = conventionSet.ModelFinalizingConventions.OfType<TypeMappingConvention>().FirstOrDefault();
if (typeMappingConvention != null)
{
typeMappingConvention.ProcessModelFinalizing(conventionModel.Builder, null);
}
var relationalModelConvention = conventionSet.ModelFinalizedConventions.OfType<RelationalModelConvention>().FirstOrDefault();
if (relationalModelConvention != null)
{
snapshotModel = relationalModelConvention.ProcessModelFinalized(conventionModel);
}
}
if (snapshotModel is IMutableModel mutableModel)
{
snapshotModel = mutableModel.FinalizeModel();
}
// HasDifferences will return true if there is no model snapshot, but if there is an existing database
// and no model snapshot then we don't want to show the error page since they are most likely targeting
// and existing database and have just misconfigured their model
var pendingModelChanges
= (!databaseExists || migrationsAssembly.ModelSnapshot != null)
&& modelDiffer.HasDifferences(migrationsAssembly.ModelSnapshot?.Model, context.Model);
&& modelDiffer.HasDifferences(snapshotModel?.GetRelationalModel(), context.Model.GetRelationalModel());
var pendingMigrations
= (databaseExists

View File

@ -21,25 +21,29 @@ namespace Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Tests
return new BloggingContextWithMigrations(options);
}
private static void BuildSnapshotModel(ModelBuilder builder)
{
builder.Entity("Blogging.Models.Blog", b =>
{
b.Property<int>("BlogId").ValueGeneratedOnAdd();
b.Property<string>("Name");
b.HasKey("BlogId");
});
}
[DbContext(typeof(BloggingContextWithMigrations))]
public class BloggingContextWithMigrationsModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder builder)
{
builder.Entity("Blogging.Models.Blog", b =>
{
b.Property<int>("BlogId").ValueGeneratedOnAdd();
b.Property<string>("Name");
b.HasKey("BlogId");
});
}
protected override void BuildModel(ModelBuilder modelBuilder)
=> BuildSnapshotModel(modelBuilder);
}
[DbContext(typeof(BloggingContextWithMigrations))]
[Migration("111111111111111_MigrationOne")]
public class MigrationOne : Migration
{
public override IModel TargetModel => new BloggingContextWithMigrationsModelSnapshot().Model;
protected override void BuildTargetModel(ModelBuilder modelBuilder)
=> BuildSnapshotModel(modelBuilder);
protected override void Up(MigrationBuilder migrationBuilder)
{
@ -62,7 +66,8 @@ namespace Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Tests
[Migration("222222222222222_MigrationTwo")]
public class MigrationTwo : Migration
{
public override IModel TargetModel => new BloggingContextWithMigrationsModelSnapshot().Model;
protected override void BuildTargetModel(ModelBuilder modelBuilder)
=> BuildSnapshotModel(modelBuilder);
protected override void Up(MigrationBuilder migrationBuilder)
{ }