【发布时间】:2010-06-24 15:52:04
【问题描述】:
我有一个基于 SQL Server 2008 数据库的 EF4 模型。在我的模型中,我有一个多对多的关系:
文章 * - * 评论
和
项目 * - * 评论
在我的模型中,我只是创建了一个关联并将其设置为多对多。在我的数据库中,我得到了另外两个表 ArticleComments 和 ProjectComments,它们只保存每个表的主键。
问题是,当我从代码中的文章中删除评论时(使用 article.Comments.Remove([some comment entity]),它只会从 ArticleComments 中删除该行,而不是它本身的实际评论。
有什么解决办法吗?
我曾考虑将其设置为 ProjectComments 表中的触发器 ondelete,但我觉得这应该只使用 Entity Framework 4 的东西。
【问题讨论】:
-
你能给我们一些代码吗?你如何加载实体?你如何删除它们?
-
你真的有shared cmets吗?我本来期望
Articles 1 - * Comments关系。 -
它们不会被共享,但我希望用户能够轻松地看到他写入任何实体的 cmets。因此,我没有为项目创建单独的评论表,而是将所有 cmets 放在一个表中,并使用多对多 :)
标签: c# sql-server entity-framework-4