Я создаю веб-сайт, используя структуру сущностей для баз данных, и я получил эту ошибку после простого переименования поля и удаления другого.
это последняя добавленная миграция: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#
Место общения программистов C#
1716600177
Anonymous
Я создаю веб-сайт, используя структуру сущностей для баз данных, и я получил эту ошибку после простого переименования поля и удаления другого.
это последняя добавленная миграция: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.
Подробнее здесь: [url]https://stackoverflow.com/questions/78445536/c-sharp-and-entityframworkcore-error-after-running-dotnet-ef-database-update[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия