(EF)更新插入新实体的相关数据

(EF) Update related data on insert new entity

我有 PostsComments table,Comments 通过 postIdPosts 相关, 在插入新的 Comment 实体时,我需要更改 Posts table 中的 DateUpdated 字段。

是否有任何方法可以通过一个查询来完成此操作?如果不能,如何正确执行此操作?

现在我是这样做的:

context.Comments.Add(comment);
context.SaveChanges();

context.Posts
.Single(p => p.Comments.Contains(c => comment.Id)
.DateUpdated = DateTime.Now;
context.SaveChanges();
  1. Select Post
  2. 在 Post 的 Comments collection
  3. 中添加新的 Comment
  4. 更改日期
  5. 保存更改。 EF 将生成两个语句:insert 和 update

像这样:

var post = context.Posts.FirstOrDefault(...);
post.Comments.Add(comment);
post.DateUpdated = DateTime.Now;
context.SaveChanges();