Я создаю веб-сайт, используя структуру сущностей для баз данных, и я получил эту ошибку после простого переименования поля и удаления другого.
это последняя добавленная миграция:using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Server.Migrations
{
///
public partial class SmallChanges : Migration
{
///
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.RenameColumn(
name: "Balace",
table: "accounts",
newName: "Balance");
migrationBuilder.AddColumn(
name: "Price",
table: "CurrentStock",
type: "float",
nullable: false,
defaultValue: 0f);
}
///
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Price",
table: "CurrentStock");
migrationBuilder.RenameColumn(
name: "Balance",
table: "accounts",
newName: "Balace");
}
}
}
И затем в базе данных есть три таблицы, которые выглядят следующим образом:
public class Order
{
public Guid Id { get; set; }
public Item OrderItem { get; set; }
public String Adress { get; set; }
public DateTime Date { get; set; }
public Order()
{
Id = Guid.NewGuid();
Date = DateTime.Now;
}
}
public class Item
{
public string Name { get; set; }
public int Stock { get; set; }
public string? Buyer { get; set; }
public Guid Id { get; set; }
public float Price { get; set; }
public DateTime Date { get; set; }
public Item()
{
Price = 0.0f;
Date = DateTime.Now;
Id = Guid.NewGuid();
}
}
public class Account
{
public Guid Id { get; set; }
public string FirstName {get; set;}
public string LastName {get; set;}
public string Email {get; set;}
public string Password {get; set;}
public double Balance {get; set;}
public DateTime Date {get; set;}
public Account()
{
this.Id = Guid.NewGuid();
this.Date = DateTime.Now;
}
}
Я думал, что, возможно, проблема связана со ссылкой на элемент в классе заказа, но до последней миграции это работало. Я не совсем уверен, что мне здесь делать.
Я пробовал запустить обновление базы данных, а также пробовал удалять и читать миграции, но столкнулся с той же проблемой. Я также попытался просмотреть класс миграции, чтобы увидеть, что-то не так, но похоже, что все должно работать.
это полная ошибка:
Build started...
Build succeeded.
The Entity Framework tools version '7.0.9' is older than that of the runtime '7.0.11'. Update the tools for the latest features and bug fixes. See https://aka.ms/AAc1fbw for more information.
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
Executed DbCommand (3ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='MandAMarketplace' AND TABLE_NAME='__EFMigrationsHistory';
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
Executed DbCommand (1ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='MandAMarketplace' AND TABLE_NAME='__EFMigrationsHistory';
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
Executed DbCommand (2ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
SELECT `MigrationId`, `ProductVersion`
FROM `__EFMigrationsHistory`
ORDER BY `MigrationId`;
info: Microsoft.EntityFrameworkCore.Migrations[20402]
Applying migration '20240507231333_SmallChanges'.
Applying migration '20240507231333_SmallChanges'.
System.NullReferenceException: Object reference not set to an instance of an object.
at MySql.EntityFrameworkCore.Migrations.MySQLMigrationsSqlGenerator.Generate(RenameColumnOperation operation, IModel model, MigrationCommandListBuilder builder)
at Microsoft.EntityFrameworkCore.Migrations.MigrationsSqlGenerator.c.b__82_22(MigrationsSqlGenerator g, MigrationOperation o, IModel m, MigrationCommandListBuilder b)
at Microsoft.EntityFrameworkCore.Migrations.MigrationsSqlGenerator.Generate(MigrationOperation operation, IModel model, MigrationCommandListBuilder builder)
at MySql.EntityFrameworkCore.Migrations.MySQLMigrationsSqlGenerator.Generate(MigrationOperation operation, IModel model, MigrationCommandListBuilder builder)
at Microsoft.EntityFrameworkCore.Migrations.MigrationsSqlGenerator.Generate(IReadOnlyList`1 operations, IModel model, MigrationsSqlGenerationOptions options)
at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.GenerateUpSql(Migration migration, MigrationsSqlGenerationOptions options)
at MySql.EntityFrameworkCore.Migrations.Internal.MySQLMigrator.GenerateUpSql(Migration migration, MigrationsSqlGenerationOptions options)
at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.c__DisplayClass16_2.b__2()
at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String connectionString, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabaseImpl(String targetMigration, String connectionString, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.c__DisplayClass0_0.b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Object reference not set to an instance of an object.
Подробнее здесь: https://stackoverflow.com/questions/784 ... ase-update
C# и EntityFramworkCore: ошибка после запуска «обновления базы данных $ dotnet ef».: ссылка на объект не установлена н ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка со ссылкой на объект, но ссылка на объект установлена, кто-нибудь, помогите мне, плз.
Anonymous » » в форуме C# - 0 Ответы
- 52 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Ошибка миграции EF Core 7: ссылка на объект не установлена на экземпляр объекта
Anonymous » » в форуме C# - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-