我首先在 EF6 中使用数据库,假设我有一个名为Article
( ArticleID
, title
, text
) 的表,其articleID
作为主键。
然后我添加了一个名为RelatedArticle
( ArticleID
, RelatedArticleID
) 的表,主键是 articleid 和 relatedarticleid,外键返回到文章中。
我遇到的问题是,当我将其拉入 edmx 文件时,它仅设置RelatedArticles
为文章的导航属性,因此当我去删除时,它只会拉出我要删除的文章relatedarticles
所在的位置。正如你可以想象的那样,我需要能够说articleid
id
删除 articleid 或相关 articleid 是我要删除的当前文章 id 的任何记录。
或者我得到很大的 ole FK 约束错误。
通常,当这种情况发生时,我至少有一个脱离上下文的“表”,我可以手动查询并杀死我需要的东西。(例如:
context.RelatedArticles.Where(ra => ra.ArticleID == articleID OR
ra.RelatedArticleID == articleID)
但就像我说的那样,它只将相关文章作为文章本身的导航属性引入。
想法?