实体数据模型存储过程错误 - 实体命令执行异常未处理

时间:2013-07-04 07:15:35

标签: c# stored-procedures ado.net-entity-data-model

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

我正在使用this edmx file

这是我的代码示例:

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 个答案:

答案 0 :(得分:1)

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

要解决此问题,请将数据模型更新为“零到一”。然后你应该能够删除BookInfo。 HTH。