public async Task <IActionResult> CreateChat(ChatForm chatAttribs) { var newChat = new Chat() { Title = chatAttribs.title, Description = chatAttribs.description, Author = "MatriXcel" }; var tagList = chatAttribs.tags.Split(" ").ToList(); var newChatTags = tagList.Select(tag => { var existingTag = _repoWrapper.Tag.FindAll().AsTracking().SingleOrDefault(t => t.TagName == tag); return((existingTag != null) ? existingTag : new Tag { TagName = tag }); }) .Select(tag => new ChatTag { Chat = newChat, Tag = tag }) .ToList(); _repoWrapper.AddRange(newChatTags); await _repoWrapper.Save(); return(Ok()); }