EF修改实体的一点困惑
public override int Update(User model)
{
DbEntityEntry<User> entry = ConText.Entry<User>(model);
entry.State = System.Data.EntityState.Modified;
return ConText.SaveChanges();
}
这个是修改的方法,一般情况下没有问题,修改页面上因为密码是不会显示出来的,所以服务端在加载修改页面的时候并没有发送[密码字段]到客户端,这里修改的时候,用户如果不想更改密码,那么密码就为空,修改的时候就把密码覆盖了,这种情况下应该如何做呢
------解决方案--------------------密码不能放在User中。
------解决方案--------------------edm每个字段单独付值,没有付值的字段保持原来的内容,也就是那个栏位不被update
------解决方案--------------------先将password用一个变量记下,加个判断,如果提交的model没有password,就在更新完之后写回去。