I added a very minor migration to my project. It just changes the data type of a couple of columns to decimal(5,2). The Add Migration command generates the migration class. However, the Update-Database command throws an exception.
Also, the Remove-Migration throws the same exception:
An exception has been raised that is likely due to a transient failure. If you are connecting to a SQL Azure database consider using SqlAzureExecutionStrategy.
I am using a local SQL Server 2014 database. My connection string for development purposes is very simple:
"DbConnectionString": "Server=.;Database=DBNAME;Trusted_Connection=True;MultipleActiveResultSets=true" That is stored in a config.json file. I am using the very latest version of Visual Studio, which is VS 2017 15.8.5.
I updated the web project to .NET Core 2.1 and then in Nuget I upgraded to the latest stable 2.1.4. That caused a change in the error message which is now:
An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding
EnableRetryOnFailure()to theUseSqlServercall.
I went to my startup class and I did add that EnableRetryOnFailure property even though I doubt this is the root of the problem.
services.AddDbContextPool<AppDbContext>(options => options.UseSqlServer(_configuration.GetConnectionString("DbConnectionString"), builder => { builder.EnableRetryOnFailure(5, TimeSpan.FromSeconds(10), null); })); The generated migration class:
public partial class v50 : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.AlterColumn<decimal>( name: "LnRrSncsm", table: "Jobs", type: "decimal(5, 2)", nullable: false, oldClrType: typeof(float)); migrationBuilder.AlterColumn<decimal>( name: "LnRrQsnqcsm", table: "Jobs", type: "decimal(5, 2)", nullable: false, oldClrType: typeof(float)); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.AlterColumn<float>( name: "LnRrSncsm", table: "Jobs", nullable: false, oldClrType: typeof(decimal), oldType: "decimal(5, 2)"); migrationBuilder.AlterColumn<float>( name: "LnRrQsnqcsm", table: "Jobs", nullable: false, oldClrType: typeof(decimal), oldType: "decimal(5, 2)"); } }