Something like this should โjust workโ:
var tags = (from t in db.Tags where tagNames.Contains(t.Name) select t).ToList();
var article = CreateArticleFromPostedForm(...);
var newTags = from tagName in tagNames.Except(tags.Select(t => t.Name)) select new Tag(tagName);
article.Tags.AddRange(tags.Concat(newTags));
db.SaveChanges();
source
share