【问题标题】:Entity Framework Detach vs Remove实体框架分离与删除
【发布时间】:2016-02-14 13:08:17
【问题描述】:

有人能解释一下这两者有什么区别吗?什么时候使用这些方法更好?为什么?

【问题讨论】:

    标签: c# ef-code-first entity-framework-6


    【解决方案1】:
    • 删除:标记要删除的实体,以便在您执行SaveChanges 时将其从数据库中删除
    • 分离:从DbContext 更改跟踪器中删除实体,这样无论您对实体DbContext 做什么都不会注意到。因此,当您执行 SaveChanges 时,此实体不会发生任何事情

    【讨论】:

    • 谢谢,那么入口状态=已删除呢?我的问题是我将集合配置为级联删除的模型,但是当我删除模型时,我得到外键违规,知道为什么吗?
    • @S.Peter 请将其放在一个新问题中,显示所有必要的代码以查看发生了什么。
    • @S.Peter 有很多关于删除和收藏的帖子,请搜索。基本上从集合中删除只是分离子实体而不是将它们标记为已删除,因此您会违反 fk,因为 FK 为 0。级联删除可让您删除父实体,一旦 SaveChanges 发生,所有子实体都将被删除
    • @S.Peter 如果问题得到解答,最好接受答案。问候
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    相关资源
    最近更新 更多