public override Task <TagsView> PublishCollection(PublishTags command, ServerCallContext context) { var tagViews = new List <TagView>(); foreach (var tag in command.Names) { var tagId = Guid.NewGuid(); var entity = new Tag { Id = tagId, Name = tag, ArticleTags = new HashSet <ArticleTag> { new ArticleTag { TagId = tagId, ArticleId = Guid.Parse(command.ArticleId) } } }; _repository.AddOrDefault(entity); var view = new TagView { Id = tagId.ToString(), Name = tag }; tagViews.Add(view); } var result = new TagsView { Tags = { tagViews } }; return(Task.FromResult(result)); }