Отладка SqlException в Entity Framework Core 3.1 - PullRequest
0 голосов
/ 05 мая 2020

У меня есть веб-приложение для малого бизнеса, которое я создаю на ASP. NET Core 3.1, также используя EF Core 3.1. В настоящее время где-то в обработке проверки есть ошибка, которая вызывает исключение SqlException, в котором указано следующее:

SqlException: оператор INSERT конфликтует с ограничением FOREIGN KEY «FK_OrderDetails_Orders_OrderId». Конфликт произошел в базе данных «BethanysPieShop», таблица «dbo.Orders», столбец «OrderId».

Когда я просматриваю таблицы в Sql Server Object Explorer, я обнаруживаю, что столбец OrderId в таблице dbo. Заказы - это первичный ключ, и в таблице dbo.OrderDetails существует следующее ограничение:

CONSTRAINT [FK_OrderDetails_Orders_OrderId] FOREIGN KEY ([OrderId]) REFERENCES [dbo].[Orders] ([OrderId]) ON DELETE CASCADE

Столбцы в таблице dbo.OrderDetails выглядят следующим образом:

[OrderDetailId] INT             IDENTITY (1, 1) NOT NULL,
    [OrderId]       INT             NOT NULL,
    [PieId]         INT             NOT NULL,
    [Amount]        INT             NOT NULL,
    [Price]         DECIMAL (18, 2) NOT NULL,

После проведя некоторое исследование, кажется, что данные, вставленные в столбец OrderId в dbo.Orders, должны быть такими же, как данные, вставленные в столбец OrderId в dbo.OrderDetails. Однако я не уверен, как это отладить и проверить, какие данные и куда вставляются во время выполнения. Даже если бы мне удалось найти эти данные, я все равно не знал бы, как решить проблему и избавиться от ошибки.

Если вам нужно больше деталей или кода, обязательно сообщите я знаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...