这就是我的实体的样子:
我的问题是如何将Comment
对象添加到News
对象以及如何更新和删除Comment
新闻?
以下是News
类:
News news = db.News.SingleOrDefault(n => n.NewsId == Id);
答案 0 :(得分:2)
正如你的模特现在所说,你可以这样做:
News news = db.News.SingleOrDefault(n => n.NewsId == Id);
Comment comment = new Comment { Body = "This is my comment" };
NewsComment newsComment = new NewsComment { News = news, Comment = comment };
news.NewsComments.Add(newsComment);
db.SaveChanges();
就个人而言,我会调整你的模型来取走NewsComment
实体。您的News
实体将具有多对多属性Comments
,并且关系表将在内部处理。您的代码将变为:
News news = db.News.SingleOrDefault(n => n.NewsId == Id);
Comment comment = new Comment { Body = "This is my comment" };
news.Comments.Add(comment);
db.SaveChanges();
修改:要删除当前模型的评论,请将其从集合属性中删除:
News news = db.News.SingleOrDefault(n => n.NewsId == Id);
NewsComment commentIDontWant = news.NewsComments.First(nc => nc.Comment.Body == "Bad Comment");
news.NewsComments.Remove(commentIDontWant);
db.SaveChanges();