dBContext.Entry(model).State = EntityState.Detached;
Section theSection = base.Get(oldsection.Id);
theSection.Name = oldsection.Name;
theSection.Remark = oldsection.Remark;
dBContext.Entry(theSection ).State = EntityState.Detached;
dBContext.Attach(theSection);
dBContext.Entry(theSection).Property(p => p.Name).IsModified = true;
dBContext.Entry(theSection).Property(p => p.Remark).IsModified = true;
//dBContext.Update(oldsection);设置了 dBContext.Entry(theSection ).State = EntityState.Detached;所以不能使用 Update,也不用使用Update语句
dBContext.SaveChanges();
如果更新字段较多,上面的方法都要写一堆需要更新字段的代码,假如有10个字段,更新9个,仅有一个字段不更新,那么,可以用以下方法
dbContext.Entry(user).State = EntityState.Modified;//将所有字段设置为要更新的状态
dbContext.Entry(user).Property(o=>o.UserName).IsModified = false;//再将不需要的字段设置为不更新,那么这样就达到了更新多个字段,除此字段外
dbContext.SaveChanges();
利用属性设置更新部分字段,适用于更新字段少的情况,比如实体总共有10个字段,仅更新两个或一个字段的情况下
dbContext.Attach(user);
//将需要更新的字段设置为true,没有设置的字段不更新,这种方法不用查询数据库找到实体
dbContext.Entry(user).Property(o => o.UserName).IsModified = true;
dbContext.SaveChanges();
dbContext.Entry(clue)
dbContext.Clue.Local.Remove(clue);
本文链接:https://blog.nnwk.net/article/78
有问题请留言。版权所有,转载请在显眼位置处保留文章出处,并留下原文连接
Leave your question and I'll get back to you as soon as I see it. All rights reserved. Please keep the source and links
友情链接:
子卿全栈
全部评论