Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
Asp.net mvc 如何使用DatabaseManager类和EFDBContext更新数据库行?_Asp.net Mvc_Database - Fatal编程技术网

Asp.net mvc 如何使用DatabaseManager类和EFDBContext更新数据库行?

Asp.net mvc 如何使用DatabaseManager类和EFDBContext更新数据库行?,asp.net-mvc,database,Asp.net Mvc,Database,db是EFDBContext类,我可以创建删除对象的对象,但如何更新对象 例如: public void CreateProject(Project projectToCreate) { db.Project.Add(projectToCreate); } 还是只有删除它才能重新创建它 感谢更新您可以获取的内容,更新您想要的属性,最后保存更改: public void Update() { var projectToUpdate = db.Project

db是EFDBContext类,我可以创建删除对象的对象,但如何更新对象

例如:

public void CreateProject(Project projectToCreate)
    {
        db.Project.Add(projectToCreate);
    }
还是只有删除它才能重新创建它


感谢

更新您可以获取的内容,更新您想要的属性,最后保存更改:

public void Update()
{
    var projectToUpdate = db.Project.Find(idOfTheProjectToUpdate);
    projectToUpdate.Foo = "new Foo";
    projectToUpdate.Bar = "new Bar";
    db.SaveChanges();
}
另一种选择是,如果已经有要更新的对象,则可以将其附加到上下文:

projectToUpdate.Foo = "new Foo";
projectToUpdate.Bar = "new Bar";

db.Project.Attach(projectToUpdate);
var entry = db.Entry(projectToUpdate);
entry.Property(e => e.Foo).IsModified = true;
entry.Property(e => e.Bar).IsModified = true;
db.SaveChanges();