当前位置: 首页 > news >正文

电子商务网站建设与维护展望山东住房和城乡建设厅网站一体化平台

电子商务网站建设与维护展望,山东住房和城乡建设厅网站一体化平台,WordPress黑镜,网站设计确认书前言 EF 更新数据时,通常情况下,是更新全部字段的,但实际业务中,更新全部字段的情况其实很少,一般都是修改其中某些字段,所以为了实现这个目标,很多程序员通常会这样作: 先从数据库…

image

前言

EF 更新数据时,通常情况下,是更新全部字段的,但实际业务中,更新全部字段的情况其实很少,一般都是修改其中某些字段,所以为了实现这个目标,很多程序员通常会这样作:

  1. 先从数据库中查询出实体对象,
  2. 然后修改其中某些字段字段的值,
  3. 最后再把整个实体对象的数据重新保存到数据库。

这样做性能很低,也不安全,那些不需要修改的字段的数据有可能这个过程中受到破坏。

其实有更好的作法的,本文抛砖引玉,分享 2 个 .NET EF 6 只更新某些字段的更好的方法。

代码

  1. 方法1: 更新数据不更新一些字段,留意注释

    public void UpdateSomeField(int id)
    {// 1. 先查询实体var user = DbContent.t_user.Where(o => o.id == id).FirstOrDefault();// 2. 再修改字段的值user.name = "周";user.age = 1;// 3. age 属性不想修改,标记其 IsModified 属性 = false// ---- 设置容器空间某一个模型的某一个字段 不提交到数据库// ---- DbContent.Entry 是要更新到数据库的整个对象DbContent.Entry<t_user>(user).Property("age").IsModified = false;// 4. 更新数据DbContent.SaveChanges();
    }
    
  2. 方法2: 直接添加模型更新,留意注释

    public void UpdateSomeField(int id)
    {// 1. 直接创建对象修改到数据库 不用先查询t_user user = new t_user(){id = id,name ="周",age=1,};// 2. 将实体对象加入 EF 对象容器中 获取容器对象DbEntityEntry<t_user> entry = DbContent.Entry<t_user>(user);// 3. 容器对象状态设置为 unchangedentry.State = System.Data.EntityState.Unchanged;// 4. 设置被改变的属性  是否要提交到数据库的字段entry.Property(a => a.name).IsModified = true;entry.Property(a => a.age).IsModified = true;// 5. 更新数据DbContent.SaveChanges();
    }
    

总结

更新数据是实际业务中经常遇到的场景,可以进一步封装以上的方法,通过参数传递要修改或不修改的字段,提高 EF 6 的性能。你有更好的方法吗?欢迎分享讨论!

往期精彩

  1. 分享一个 .NET EF 6 扩展 Where 的方法
  2. 分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
  3. 分享一个 .NET 通过监听器拦截 EF 消息写日志的详细例子
  4. 不会使用 EF Core 的 Code First 模式?来看看这篇文章,手把手地教你
  5. EF Core 性能很差?试试这 6 个小技巧
  6. 如何在 EF Core 中使用乐观并发控制
  7. EF Core 在实际开发中,如何分层?

我是老杨,一个奋斗在一线的资深研发老鸟,让我们一起聊聊技术,聊聊程序人生,共同学习,共同进步

http://www.yayakq.cn/news/501966/

相关文章:

  • 济宁正德网站建设wordpress发布软件
  • 如何修改管理网站网站建设的风格
  • 主题资源网站建设反思如何把自己的产品放到网上卖
  • 上海网站制作网站开发wordpress如何加好友
  • 有没有专门做二手车网站彩票网站怎么建设
  • 南京网站维护公司图片制作生成器
  • 做珠宝网站公司企业做网站做什么科目
  • 网站建设实验报告总结两千字西安百度首页优化
  • 淘宝联盟推广网站建设wordpress静态化缓存
  • 重庆免费做网站即墨网站建设电话
  • wordpress标签分页显示aso优化是什么意思
  • 去年做哪个网站能致富电子商务论文5000字
  • 无线网络管理系统宁波seo推广优化怎么做
  • 郴州哪里做网站校园网站建设材料
  • 白云区建网站公司建手机网站价格
  • 西安维护网站低价网站制作企业
  • 网站紧急升级维护中如何在工商网站做预先核名
  • wordpress动漫视频网站如何手机创建网站
  • 手机参数对比的网站合作行业网站建设
  • 企业营销网站有哪些免费发布推广信息的网站
  • 敬请期待英语江西建网站做优化
  • wordpress搭建软件下载厦门网站seo外包
  • 有没有做高仿手表的网站佛山外贸seo
  • 装修公司网站平台wordpress分页diam
  • 网站备案人的法律风险做一个中英文双语网站建设多少钱
  • 郑州餐饮加盟网站建设网站建设的 文献综述
  • 零代码建站wap网站 趋势分析
  • 江苏赛孚建设工程有限公司网站网站服务器搬家
  • 豪华网站建设方案软件园专业做网站
  • 创一个网站怎样赚钱百度关键词优化教程