菜的像徐坤
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

EF 框架操作数据库(修改数据)

5472人阅读 2021/3/16 11:48 总访问:856487 评论:0 收藏:0 手机
分类: Csharp

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



评价