public static Picture Create(string[] arrayOfTagStrings, Picture currentPicture, Le6pergramDatabase context) { List <Tag> tagsList = new List <Tag>(); foreach (var tag in arrayOfTagStrings) { if (!TagUtilities.IsTagExisting(tag, context)) { var currentTag = new Tag() { Name = tag }; tagsList.Add(currentTag); context.Tags.Add(currentTag); } else { var currentTag = context.Tags.Where(t => t.Name == tag).FirstOrDefault(); tagsList.Add(currentTag); } } context.SaveChanges(); foreach (Tag tag in tagsList) { currentPicture.Tags.Add(tag); } return(currentPicture); }