Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // (1) Remove unused tags
- var toRemove = dbAudio.AudioTags.Where(x => !audio.Tags.Contains(x.Tag.Name));
- foreach (var srTag in toRemove)
- {
- _dbContext.AudioTags.Remove(srTag);
- }
- // (2) Add new tags
- var existingDbTagNames = dbAudio.AudioTags.Select(x => x.Tag.Name);
- var newTagNames = audio.Tags.Except(existingDbTagNames);
- foreach (var newTagName in newTagNames)
- {
- var dbTag = _dbContext.Tags.FirstOrDefault(x => newTagName == x.Name);
- // What if the tag doesn't exist at all?
- if (dbTag == null)
- continue;
- dbAudio.AudioTags.Add(new AudioTag
- {
- Audio = dbAudio,
- Tag = dbTag
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement