gpt4 book ai didi

c# - Entity Framework 4 多对多不删除实际实体

转载 作者:太空宇宙 更新时间:2023-11-03 11:47:15 24 4
gpt4 key购买 nike

我在 SQL Server 2008 数据库上有一个 EF4 模型。在我的模型中,我有一个多对多的关系:

文章 * - * 评论

项目 * - * 评论

在我的模型中,我只是创建了一个关联并将其设置为多对多。在我的数据库中,我得到了另外两个表 ArticleComments 和 ProjectComments,它们只包含每个表的主键。

问题是,当我在我的代码中删除文章中的评论时(使用 article.Comments.Remove([some comment entity]),它只会删除 ArticleComments 中的行,而不是实际的评论本身。

有什么解决办法吗?

我考虑过将其设置为 ProjectComments 表中的 ondelete 触发器,但我认为这应该仅使用 Entity Framework 4 的东西就可以实现。

最佳答案

您所做的只是删除文章和评论之间的关联(不会删除 Comments 表中的数据,而是删除 ArticleComments 中的数据)。

要删除 Comment,您必须在上下文实例上调用 DeleteObject 方法。这也将删除评论和文章之间的关联(如果我是对的,也会删除评论和项目之间的关联)。

您还可以在调用 SaveChanges 之后放置一个断点,并查看使用 IntelliTrace(或使用 SQL 配置文件作为最后手段)对 SQL Server 执行的查询。

问候...

关于c# - Entity Framework 4 多对多不删除实际实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3107982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com