public void SaveArticle(Article article) { using (var dbContext = new CmsDbContext()) { var tags = new List<Tag>(); foreach (var tag in article.Tags) { var existTag = dbContext.Tags.FirstOrDefault(t => t.Name == tag.Name); if (existTag != null) existTag.Hits++; tags.Add(existTag ?? tag); } if (article.ID > 0) { article.TagString = string.Empty; dbContext.Update<Article>(article); dbContext.Entry(article).Collection(m => m.Tags).Load(); article.Tags = tags; dbContext.SaveChanges(); } else { article.Tags = tags; dbContext.Insert<Article>(article); } } }
public void DeleteArticle(List<int> ids) { using (var dbContext = new CmsDbContext()) { dbContext.Articles.Include("Tags").Where(u => ids.Contains(u.ID)).ToList().ForEach(a => { a.Tags.Clear(); dbContext.Articles.Remove(a); }); dbContext.SaveChanges(); } }