-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Milestone
Description
Against release/8.0-rc1 (011f0ec).
Repro:
await using var ctx = new BlogContext();
await ctx.Database.EnsureDeletedAsync();
await ctx.Database.EnsureCreatedAsync();
ctx.Blogs.Add(new Blog { Name = "foo" });
await ctx.SaveChangesAsync();
public class BlogContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
=> optionsBuilder
.UseSqlServer(@"Server=localhost;Database=test;User=SA;Password=Abcd5678;Connect Timeout=60;ConnectRetryCount=0;Encrypt=false")
.LogTo(Console.WriteLine, LogLevel.Information)
.EnableSensitiveDataLogging();
}
public class Blog
{
public int Id { get; set; }
public string? Name { get; set; }
public int[] Ints { get; set; }
}Error:
fail: 8/20/2023 09:38:53.337 CoreEventId.SaveChangesFailed[10000] (Microsoft.EntityFrameworkCore.Update)
An exception occurred in the database while saving changes for context type 'BlogContext'.
Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while saving the entity changes. See the inner exception for details.
---> System.Diagnostics.UnreachableException: Check.DebugAssert failed: Null value in a non-nullable input parameter
at Microsoft.EntityFrameworkCore.Utilities.Check.DebugAssert(Boolean condition, String message) in /home/roji/projects/efcore/src/Shared/Check.cs:line 115
at Microsoft.EntityFrameworkCore.Storage.RelationalTypeMapping.CreateParameter(DbCommand command, String name, Object value, Nullable`1 nullable, ParameterDirection direction) in /home/roji/projects/efcore/src/EFCore.Relational/Storage/RelationalTypeMapping.cs:line 596
at Microsoft.EntityFrameworkCore.Storage.Internal.TypeMappedRelationalParameter.AddDbParameter(DbCommand command, Object value) in /home/roji/projects/efcore/src/EFCore.Relational/Storage/Internal/TypeMappedRelationalParameter.cs:line 65
at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalParameterBase.AddDbParameter(DbCommand command, IReadOnlyDictionary`2 parameterValues) in /home/roji/projects/efcore/src/EFCore.Relational/Storage/Internal/RelationalParameterBase.cs:line 51
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.CreateDbCommand(RelationalCommandParameterObject parameterObject, Guid commandId, DbCommandMethod commandMethod) in /home/roji/projects/efcore/src/EFCore.Relational/Storage/RelationalCommand.cs:line 821
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.Relational/Storage/RelationalCommand.cs:line 638
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.Relational/Update/ReaderModificationCommandBatch.cs:line 383
--- End of inner exception stack trace ---
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.Relational/Update/ReaderModificationCommandBatch.cs:line 398
at Microsoft.EntityFrameworkCore.SqlServer.Update.Internal.SqlServerModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommandBatch.cs:line 240
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.Relational/Update/Internal/BatchExecutor.cs:line 206
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.Relational/Update/Internal/BatchExecutor.cs:line 230
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.Relational/Update/Internal/BatchExecutor.cs:line 257
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore/ChangeTracking/Internal/StateManager.cs:line 1328
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(StateManager stateManager, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore/ChangeTracking/Internal/StateManager.cs:line 1427
at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.SqlServer/Storage/Internal/SqlServerExecutionStrategy.cs:line 79
at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore/DbContext.cs:line 773
Unhandled exception. Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while saving the entity changes. See the inner exception for details.
---> System.Diagnostics.UnreachableException: Check.DebugAssert failed: Null value in a non-nullable input parameter
at Microsoft.EntityFrameworkCore.Utilities.Check.DebugAssert(Boolean condition, String message) in /home/roji/projects/efcore/src/Shared/Check.cs:line 115
at Microsoft.EntityFrameworkCore.Storage.RelationalTypeMapping.CreateParameter(DbCommand command, String name, Object value, Nullable`1 nullable, ParameterDirection direction) in /home/roji/projects/efcore/src/EFCore.Relational/Storage/RelationalTypeMapping.cs:line 596
at Microsoft.EntityFrameworkCore.Storage.Internal.TypeMappedRelationalParameter.AddDbParameter(DbCommand command, Object value) in /home/roji/projects/efcore/src/EFCore.Relational/Storage/Internal/TypeMappedRelationalParameter.cs:line 65
at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalParameterBase.AddDbParameter(DbCommand command, IReadOnlyDictionary`2 parameterValues) in /home/roji/projects/efcore/src/EFCore.Relational/Storage/Internal/RelationalParameterBase.cs:line 51
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.CreateDbCommand(RelationalCommandParameterObject parameterObject, Guid commandId, DbCommandMethod commandMethod) in /home/roji/projects/efcore/src/EFCore.Relational/Storage/RelationalCommand.cs:line 821
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.Relational/Storage/RelationalCommand.cs:line 638
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.Relational/Update/ReaderModificationCommandBatch.cs:line 383
--- End of inner exception stack trace ---
at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.Relational/Update/ReaderModificationCommandBatch.cs:line 398
at Microsoft.EntityFrameworkCore.SqlServer.Update.Internal.SqlServerModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.SqlServer/Update/Internal/SqlServerModificationCommandBatch.cs:line 240
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.Relational/Update/Internal/BatchExecutor.cs:line 206
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.Relational/Update/Internal/BatchExecutor.cs:line 230
at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable`1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.Relational/Update/Internal/BatchExecutor.cs:line 257
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList`1 entriesToSave, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore/ChangeTracking/Internal/StateManager.cs:line 1328
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(StateManager stateManager, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore/ChangeTracking/Internal/StateManager.cs:line 1427
at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore.SqlServer/Storage/Internal/SqlServerExecutionStrategy.cs:line 79
at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore/DbContext.cs:line 773
at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) in /home/roji/projects/efcore/src/EFCore/DbContext.cs:line 808
at Program.<Main>$(String[] args) in /home/roji/projects/test/Program.cs:line 17
at Program.<Main>$(String[] args) in /home/roji/projects/test/Program.cs:line 17
at Program.<Main>(String[] args)