#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. Большое вам спасибо. Теперь я могу решить проблему. Используемый метод — я изменил ключ на уникальный.