C# 直接或间接(通过相关类)在code first entityframework中添加新项
我有两门课:Post和Comment。每个帖子可以有许多评论,但每个评论只能与一篇帖子关联。如果我想向数据库添加新注释,我想可以这样做:C# 直接或间接(通过相关类)在code first entityframework中添加新项,c#,entity-framework,C#,Entity Framework,我有两门课:Post和Comment。每个帖子可以有许多评论,但每个评论只能与一篇帖子关联。如果我想向数据库添加新注释,我想可以这样做: MyDbContext db = new MyDbContext(); Comment c = new Comment(); c.CommentText= commenttext; c.PostId = pid; db.Comments.Add(c); db.SaveChanges(); 或者这个: MyDbContext db = new MyDbCont
MyDbContext db = new MyDbContext();
Comment c = new Comment();
c.CommentText= commenttext;
c.PostId = pid;
db.Comments.Add(c);
db.SaveChanges();
或者这个:
MyDbContext db = new MyDbContext();
Comment c = new Comment();
c.CommentText= commenttext;
db.Posts.Single(p=>p.PostId=postid).Comments.Add(c);
db.SaveChanges();
我不知道哪一个更好。我想第一种方法可能更有效,因为使用第二种方法时,我会将Post额外加载到内存中。然而,在第二种方法中,我没有这样做。有人能帮我理解其中的区别吗(如果有的话)?好吧,你自己的解释是正确的。两者都同样有效。正如您所解释的,第一种方法更有效。