Session

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))



关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢