Je le DB suivant: Posts
qui ont un Id
, Tags
aussi avec Id
et TagsToPosts
tableau qui ont TagsToPosts.PostId => Posts.Id
et TagsToPosts.TagId => Tags.Id
relations FK. Je dois supprimer plusieurs éléments de TagsToPosts
de la manière suivante. Je crée IList<Tag> newTags
en analysant une chaîne. Chaque étiquette a son nom. Je veux supprimer tous les articles TagsToPosts
pointant vers un seul poste (TagsToPosts.PostId == mypostid
) et qui pointe vers Tag
avec un nom qui ne figure pas dans mon newTags
.LINQ to SQL batch supprimer
Par exemple j'ai un poste avec Id = 1
, trois tags: 1 => "tag1", 2 => "tag2", 3 => "tag3"
et table relations ManyToMany TagsToPosts
: 1 => 1, 1 => 2, 1 => 3
Donc, les trois balises sont liées à mon poste. Après cela, je vais créer un nouveau IList<Tag> newList = new List<Tag>()
en analysant une chaîne. newList
contient: 0 => "tag1", 0 => "tag2"
. Maintenant, je veux supprimer la troisième relation de la table TagsToPosts parce que ma nouvelle liste de tags ne contient pas tag avec le nom "tag3". Donc j'ai besoin de trouver une différence. Je sais que je peux trouver des articles similaires en utilisant JOIN mais comment trouver la différence?
Je veux que cela se produise dans une requête DB sans répéter sur chaque élément pour le supprimer.