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

时间:2015-09-23 15:33:18

标签: c# sql entity-framework linq ado.net

我有PostsComments个表,CommentsPosts相关postId, 我需要在插入新的DateUpdated实体时更改Posts表中的Comment字段。

有没有办法用一个查询执行此操作,如果不是,如何正确执行此操作?

现在我这样做:

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

context.Posts
.Single(p => p.Comments.Contains(c => comment.Id)
.DateUpdated = DateTime.Now;
context.SaveChanges();

1 个答案:

答案 0 :(得分:1)

  1. 选择Post
  2. 在帖子的Comment集合
  3. 中添加新的Comments
  4. 更改日期
  5. 保存更改。 EF将生成两个语句:insert和update
  6. 像这样:

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