asp.net Каркас команды запуска ядра EF-ошибка внешнего ключа DbContext

#c# #asp.net #asp.net-core #mariadb

#c# #asp.net #asp.net-core #mariadb

Вопрос:

Я использую базу данных MariaDB, в проект которой я установил следующий пакет (через Nuget)

  • MySQL.Data.EntityFrameworkCore (последняя версия)
  • Майкрософт.EntityFrameworkCore.Инструменты (последняя версия)

После этого я использовал приведенные ниже команды для создания EF.

 Scaffold-DbContext  "server=localhost;port=3306;user=root;password=mypass;database=test" MySql.Data.EntityFrameworkCore -OutputDir DB -f
  

И обнаружил ошибку следующим образом

Не удалось создать внешний ключ ‘test.payment_details(receipt_no)’. Ключ для ‘receipt_no’ не был найден в основном типе объекта ‘PaymentHeader’. Не удалось создать внешний ключ ‘test.payment_details (штрих-код)’. Ключ для ‘barcode’ не был найден в основном типе объекта ‘ProductPrice’. Не удалось создать внешний ключ ‘test.promotion (premium_barcode)’. Ключ для ‘barcode’ не был найден в основном типе объекта ‘ProductPrice’.

Комментарии:

1. Я думаю, вы неправильно указали свои отношения EF. Какой подход вы используете, модель или код в первую очередь?

2. Большое вам спасибо. Теперь я могу решить проблему. Используемый метод — я изменил ключ на уникальный.