EF执行savechanges失败然后直接返回页面的处理办法

Posted sandaman2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF执行savechanges失败然后直接返回页面的处理办法相关的知识,希望对你有一定的参考价值。

前几天我在使用ef删除数据的时候遇到一个问题

通过删除功能删除一个实体时,发现一个问题

public bool Delete(T t)
        
            this._dbContext.Set<T>().Attach(t);//必须将给定实体附加到集的基础上下文中。也就是说,将实体以“未更改”的状态放置到上下文中,就好像从数据库读取了该实体一样。
            this._dbContext.Set<T>().Remove(t);
            //this._dbContext.Entry<T>(t).State = EntityState.Deleted;            
            return this._dbContext.SaveChanges()>0;
        

在代码执行到return时,直接返回页面,savechanges不返回任何值后直接跳转

后来在页面中检查发现,是表字段关联之后,如果需要删除一个实体时,那么在该实体对应的其他表已绑定联系的字段或实体必须先被删除

这个因素通常是设立了表字段外键联系后删除发生的!

以上是关于EF执行savechanges失败然后直接返回页面的处理办法的主要内容,如果未能解决你的问题,请参考以下文章

EF6 - Update()失败,多个SaveChangeAsync,但没有多个SaveChanges()

entity framework 使用存储过程删除数据后,还用再使用SaveChanges()保存吗?

覆盖 SaveChanges 并删除 EF 关系时为 null

EF Core性能优化

在 EF 中调用 SaveChanges() 后将获取的旧记录保留在变量中

目标数据库