3

首先,我检查了这个页面,但它似乎对我没有帮助。

我正在使用这个 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 环境。
提前致谢。

@我想这是因为数据表的某些原因,但我仍然找不到它是什么。

4

1 回答 1

1

如果数据模型说它是 BookInfo 和 Book 之间的“一对一”,那么您将无法在不删除 Book 的情况下删除 BookInfo。

为了解决这个问题,将数据模型更新为“零到一”。然后您应该能够删除 BookInfo。HTH。

于 2015-05-15T15:43:36.340 回答