首页 新闻 会员 周边 捐助

EF删除报错 无法更改关系,因为一个或者多个外键属性不可为空

0
悬赏园豆:20 [待解决问题]

如图,EF删除时会报错,如果用sql执行删除就不会

地对地捣蛋的大号的主页 地对地捣蛋的大号 | 初学一级 | 园豆:106
提问于:2018-06-30 15:54
< >
分享
所有回答(3)
0

吧外键ID改成可空类型.

ondelete改成setnull

吴瑞祥 | 园豆:29449 (高人七级) | 2018-06-30 16:14

不知道是哪个外键,而且外键改成null会失去约束,以后涉及到关联的实体都要先判断是不是为null才能用了,并不是我想要的,我想知道如何看是哪个外键影响了阻止了这个删除,如何处理。而不是改数据库关系。

支持(0) 反对(0) 地对地捣蛋的大号 | 园豆:106 (初学一级) | 2018-06-30 17:12

@地对地导弹: 调试啊.在内部异常里有详细的提示的.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2018-06-30 17:19

@吴瑞祥: 说半天就是没找到啊

支持(0) 反对(0) 地对地捣蛋的大号 | 园豆:106 (初学一级) | 2018-06-30 17:59
0

在实体模型代码中,找到所有引用 AcceptSampleInfo 的其他实体就知道了。

爱编程的大叔 | 园豆:30844 (高人七级) | 2018-07-01 10:52

执行sql就能删除,说明引用外键的数据是没有,找到所有引用的实体是什么意思呢?找到所有引用的表(类型)?然后呢?数据不存在也不存在说要先删除对应实体的说法啊?

支持(0) 反对(0) 地对地捣蛋的大号 | 园豆:106 (初学一级) | 2018-07-02 08:41
0

删除时 应该将外键关联的一同删除。你这样删除,即时将外键设置为可以为空。这样数据的完整性 得不到保证。

温情亿度开发者 | 园豆:315 (菜鸟二级) | 2018-07-02 08:50

执行sql就能删除,说明引用外键的数据是没有,找到所有引用的实体是什么意思呢?找到所有引用的表(类型)?然后呢?数据不存在也不存在说要先删除对应实体的说法啊?

支持(0) 反对(0) 地对地捣蛋的大号 | 园豆:106 (初学一级) | 2018-07-03 18:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册