Ошибка хранимой процедуры модели данных объекта - исключение обработки команды объекта

Во-первых, я проверил эту страницу, но она мне не помогла.

Я использую этот файл EDMX.

Вот мой пример кода:

private void btnSil_Click(object sender, EventArgs e)
    {
        Int64 isbn = Int64.Parse(dgvKitaplar.CurrentRow.Cells["ISBN"].Value.ToString());

        entity.sp_Sil(isbn);

        entity.SaveChanges();

        dgvKitaplar.DataSource = entity.sp_Update();


    }

Вот моя хранимая процедура sp_Update()

create proc [dbo].[sp_Sil]
        @toDeleteBookId bigint
        as

        begin
        delete from BookInfo
        where ISBN=@toDeleteBookId
        end

Я пытаюсь удалить книгу из базы данных библиотеки через текущую строку datagridview. Прежде всего, если есть лучший / более безопасный способ сделать это, я хотел бы знать.

Почему я получаю "EntityCommandExecutionException не обработано"? Я знаю, что это довольно легко, но я пытаюсь изучить среду C# и.net.
Заранее спасибо.

@ Думаю, это из-за таблиц данных, но я до сих пор не могу найти, что это такое.

1 ответ

Решение

Если модель данных говорит "один к одному" между BookInfo и Book, вы не сможете удалить BookInfo, не удалив Book.

Чтобы решить эту проблему, обновите модель данных до "ноль в один". Тогда вы сможете удалить BookInfo. НТН.

Другие вопросы по тегам