我有这段代码可以在EntityFrameworkCore中使用。
public void SaveProject(Project item)
{
var existing = _context.Projects.FirstOrDefault(a => a.Id == item.Id);
existing.Description = item.Description;
existing.IsArchived = item.IsArchived;
existing.IsDeleted = item.IsDeleted;
existing.Name = item.Name;
_context.SaveChanges();
}
它采用断开连接的实体,在数据库中找到它,然后应用更改。
有一个更好的方法吗?
我不想拨打数据库。换句话说,我希望能够将实体标记为已修改,然后调用SaveChanges()。
有没有办法做到这一点?
如果确定该项目存在于数据库中,则可以使用DbContext的Attach方法,如下所示
public void SaveProject(Project item)
{
_context.Projects.Attach(item);
_context.Entity(item).State=EntityState.Modified;
_context.SaveChanges();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句