Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 直接或间接(通过相关类)在code first entityframework中添加新项_C#_Entity Framework - Fatal编程技术网

C# 直接或间接(通过相关类)在code first entityframework中添加新项

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

我有两门课: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 MyDbContext();
Comment c = new Comment();
c.CommentText= commenttext;
db.Posts.Single(p=>p.PostId=postid).Comments.Add(c);
db.SaveChanges();

我不知道哪一个更好。我想第一种方法可能更有效,因为使用第二种方法时,我会将Post额外加载到内存中。然而,在第二种方法中,我没有这样做。有人能帮我理解其中的区别吗(如果有的话)?

好吧,你自己的解释是正确的。两者都同样有效。正如您所解释的,第一种方法更有效。