查找表未出现在EDMX文件中

时间:2012-05-03 17:12:56

标签: c# entity-framework-4

我在我正在使用的实用程序上使用EF并遇到了一个相当令人沮丧的问题。我有三个表:Template,Target和TemplateTarget,但是当我将这三个表添加到EDMX时,我最终只有两个,因为TemplateTarget是一个包含Template和Target之间关系的查找表。显然,EF很聪明,可以解决这个问题,但如果我想打破(删除)一段关系,它就会出现问题。

当我发出删除时,在我给定的场景中,我需要从查找表中删除而不是从物理表本身删除。 “正确”的答案是重做数据模型,但这不是可以在这个时刻完成的事情。无论如何强制EF将这个查找表分开,以便我可以直接对它发出删除,或者我将仅限于直接向基础表发出DELETE语句?

1 个答案:

答案 0 :(得分:2)

如果您只想从查找表中删除,则意味着您要删除以这种方式完成的关系:

template.Targets.Remove(target);

您的模板必须附加到上下文,目标必须是相关实体。它只会删除数据库中的关系,但不会删除那些实体。