Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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# 使用Dbset.Add与使用EntityState.Added_C#_Asp.net Mvc_Linq_Entity Framework_Ado.net - Fatal编程技术网

C# 使用Dbset.Add与使用EntityState.Added

C# 使用Dbset.Add与使用EntityState.Added,c#,asp.net-mvc,linq,entity-framework,ado.net,C#,Asp.net Mvc,Linq,Entity Framework,Ado.net,我正在使用EF6开发一个asp.NETMVC5。在添加新对象时,编写以下代码是否有任何区别:- db.Students.Add(student); db.SaveChanges(); 或 同样,当删除对象时:- db.Entry(studentToDelete).State = EntityState.Deleted; db.SaveChanges(); 或 谢谢可能重复@Colin,但您链接中的两个答案并不完全相同,因为其中一个回复提到使用这两种方法会产生相同的效果。另一个回复提到,当使用

我正在使用EF6开发一个asp.NETMVC5。在添加新对象时,编写以下代码是否有任何区别:-

db.Students.Add(student);
db.SaveChanges();

同样,当删除对象时:-

db.Entry(studentToDelete).State = EntityState.Deleted;
db.SaveChanges();


谢谢

可能重复@Colin,但您链接中的两个答案并不完全相同,因为其中一个回复提到使用这两种方法会产生相同的效果。另一个回复提到,当使用.Add&.Remove时,实体的相关导航属性将被添加或删除,所以我不确定哪个答案是正确的?这一点很好。我没有发现,但我认为第二个答案是正确的。我将发表评论,要求澄清接受的答案。同时,我建议您阅读这篇文章:通过使用外键,您可以避免Add方法和断开连接的实体的大多数问题。@Colin您注意到这一点很好,但是您是否也建议关闭此问题,因为有3个请求关闭此问题,,虽然我发现这仍然被认为是一个新的有效的问题..Ladislav Mrnka现在已经更正了我链接的问题的答案,所以你的问题的补充部分有一个明确的答案。删除了我的投票,因为删除的问题仍然没有得到回答-但也许你可以改进你的问题标题?
db.Entry(studentToDelete).State = EntityState.Deleted;
db.SaveChanges();
db.Remove(StudentToDelete)
db.SaveChanges();