撤消删除实体框架

时间:2015-05-08 20:59:35

标签: c# entity-framework exception

我在C#/ EF中处理删除操作时遇到问题。 这是我的代码。我可以删除没问题的记录。我只记录其他记录中使用的记录问题。 所以他抛出一个异常,用户看到一个消息框。 但是记录仍然标记为删除,因此当我执行另一个SaveChanges时,我得到一个例外。 是否可以将记录的状态更改为未删除?

public void Remove()
    {
        try
        {
            Klant deleteKlant = dbContext.Klanten.First(i => i.KlantId == Klant.KlantId);
            dbContext.Klanten.Remove(deleteKlant);
            dbContext.SaveChanges();
        }
        catch (Exception)
        {
            throw new ArgumentException("Wissen mislukt");
        }
    }

1 个答案:

答案 0 :(得分:0)

首先,如果可能的话,你应该保持dbContext个物品短暂存在。如果你保留它们,你将遇到很大的问题,因为它们拥有一个指向使用它们创建的每个对象的强大指针。

其次,您应该在尝试删除记录之前检查删除记录是否有效,这样您就不会首先获得异常。