EF 框架操作数据库(修改数据)
电脑版发表于:2021/3/16 11:48
MVC 页面 方法一(通用,比较兼容)
//实例化数据库对象 oaEntities oaentities = new oaEntities(); //定义对象接收数据表中返回的对象(FirstOrDefault 表示返回第一条数据或者返回默认值) UserInfo userinfo = oaentities.UserInfo.Where(a => a.sid == usermessage2.sid).FirstOrDefault(); //给字段重新值 userinfo.username = "姓名"; userinfo.Number = "学号"; userinfo.Class = "班级"; userinfo.state = "状态"; //调用方法写入数据库(返回受影响行数) oaentities.SaveChanges();
MVC 页面 方法二(直接更改,不用查数据库,效率最快)(缺点,每个字段都会被更改,未赋值的字段将被覆盖成NULL )
//实例化数据库对象 oaEntities oaentities = new oaEntities(); oaentities.Entry(usermessage2).State = System.Data.EntityState.Modified; oaentities.SaveChanges(); //Modified 修改 //Added 添加 //Deleted 删除 //Detached 对象没有被添加到上下文中的状态 //Unchanged 对象在上下文中没有任何改变,没有任何操作的状态 //解决:未赋值的字段将被覆盖成NULL oaentities.UserInfo.Attach(usermessage2); var entry = oaentities.Entry(usermessage2); entry.Property("username").IsModified = true; //设置需要修改的字段为true entry.Property("Number").IsModified = true; oaentities.SaveChanges();
MVC 页面 方法三(使用SQL语句 )(不常用)
oaentities.Database.ExecuteSqlCommand("SQL语句", new SqlParameter("userid", userid))