“高效”!=性能高效=方便

作者:敖士伟

//=======本例解决大量更新实体时,一个属性一个属性地赋值更新较麻烦的问题 LinQ方式实现 /// <summary> /// 修改采购单 /// </summary> /// <param name="cgd">采购单实体</param> /// <returns>采购单号</returns> public bool ModifyCaiGouDan(tbCaiGouJiLu cgd) { //--**修改(一) tbCaiGouJiLu t1_from = cgd; //--**修改(二) tbCaiGouJiLu t1_to = null; SQLServerDBDataContext conn = new SQLServerDBDataContext(sqlcon); SqlTransaction sqltran = null; try { sqlcon.Open(); Type type_from = t1_from.GetType(); //--**修改(三) //不更新的属性,这个根据实际 string[] out_Property = new string[] { "char_CGJL_SN", "money_CGJL_YueE" }; //--**修改(四) //Linq在更新实体时要先从数据库中查询出来 t1_to = conn.tbCaiGouJiLu.Where(t => t.char_CGJL_SN == t1_from.char_CGJL_SN).Single(); Type type_to = t1_to.GetType(); //反射遍历属性 foreach (PropertyInfo pi in type_from.GetProperties()) { string name = pi.Name;//属性名 object value = pi.GetValue(t1_from, null);//属性值 //排除不更新的属性 if (Array.IndexOf<string>(out_Property, name) == -1) { //设置属性值 type_to.GetProperty(name).SetValue(t1_to, value, null); } } //更新数据库 conn.SubmitChanges(); return true; } catch (Exception ex) { sqltran.Rollback(); return false; throw ex; } finally { if (sqlcon.State == ConnectionState.Open) sqlcon.Close(); } }

LinQ“高效”更新相关推荐

  1. Linq学习——更新数据库操作

    用LINQ to SQL建模Northwind数据库 在这之前一起学过LINQ to SQL设计器的使用,下面就使用如下的数据模型: 当使用LINQ to SQL设计器设计以上定义的五个类(Produ ...

  2. 数据湖 data lake_在Data Lake中高效更新TB级数据的模式

    数据湖 data lake GOAL: This post discusses SQL "UPDATE" statement equivalent for a data lake ...

  3. 使用Psycopg2高效更新数据(二)

    python: 3.7 pscopg2: 2.7 参考文档Server side cursors 当执行一个数据库查询时,Pscopg cursor通常将查询到的所有数据返回给客户端,如果返回的数据过 ...

  4. Vue最全知识点,面试必备(基础到进阶,覆盖vue3.0,持续更新整理,欢迎补充讨论)

    声明:本篇文章纯属笔记性文章,非整体原创,是对vue知识的整理,对自己有很大帮助才分享出来,参考文章传送:1.童欧巴对vue知识的整理 2.我是你的超级英雄对vue知识的整理 3.vue官网 基础篇 ...

  5. 前端面试题(持续更新中)

    全家桶项目源码:Vue全家桶+SSR+Koa2全栈开发美团网[完整版] 链接:https://pan.baidu.com/s/1cwPDVkj_I5z568mYIHni4A 提取码:24g2 2020 ...

  6. 优雅地实现一个高效、异步数据实时刷新的列表

    今日科技快讯 2月11日消息,据CNBC报道,当特斯拉公司于2019年1月宣布第二轮裁员以控制成本时,一个关键部门受到的打击尤为沉重.两名被裁汰的员工表示,负责向北美地区客户交付Model 3电动汽车 ...

  7. 前端基础(不定期更新)

    ### 可视化编辑网页```http document.body.contentEditable="true" document.designMode = "on&quo ...

  8. 2022年前端Vue常见面试题大全(三万长文)持续更新

    目录 1.Vue和React有什么不同?使用场景分别是什么? 2.axios是什么?怎么使用它,怎么解决跨域? 3.说说Vue,React,angularjs,jquery的区别 4.什么阶段(生命周 ...

  9. 2022年前端Vue常见面试题大全(三万长文)持续更新...

    目录 1.Vue和React有什么不同?使用场景分别是什么? 2.axios是什么?怎么使用它,怎么解决跨域? 3.说说Vue,React,angularjs,jquery的区别 4.什么阶段(生命周 ...

最新文章

  1. 视觉三位重建:计算机视觉的核心任务
  2. 特斯拉化身电影院,马斯克:车自动开,你来看电影
  3. js正則表達式--验证表单
  4. argsort()返回数据从小到大的“索引值”
  5. spring boot使用注解的方式整合mybaits
  6. golang的sync包例子
  7. Java CAS无锁技术深度解析
  8. 月薪11.5K 土木人零基础转行软件测试工程师,他都经历了什么?
  9. Hadoop云计算大数据书籍分享
  10. “华为杯”山东理工大学第十届ACM程序设计竞赛 - 解题报告
  11. 微信聊天记录导出和年度报告制作小软件
  12. java水果忍者7723_水果忍者之天下第一
  13. 效果图什么网站赚零花钱_为什么你赚的钱少
  14. 黑客必知投资人的那点事儿——The Hacker’s Guide to Investors
  15. SLAM综述阅读笔记四:A Survey on Deep Learning for Localization and Mapping: Towards the Age of Spatial 2020
  16. 西北大学计算机转专业,2021年西北大学大一新生转专业及入学考试相关规定
  17. 入手评测AMD锐龙r7 6800u和酷睿i7 1260p选哪个 r76800u和i71260p对比
  18. oracle考试地点,Oracle11g认证考试主要途径
  19. OpenCV入门(七)快速学会OpenCV6色彩空间
  20. 托福经验分享:20天从93分考到105分

热门文章

  1. STM32驱动无刷直流电机学习(2)
  2. 链塔智库联合赛迪区块链发布中国区块链百强榜
  3. 初来乍到,请多多包涵
  4. 世界人口你未必知道的事实
  5. 最短路——小木乃伊到我家(dijkstra)
  6. Multisim的使用及面包板
  7. 电子烟新规颁发,经销商该如何应对全新的电子烟管理办法?(内含电子烟许可证/电子烟牌照/电子烟营业执照申请指南)
  8. WRF模式中关于eta_levels的设置以及对应的高度
  9. Arduino与Proteus仿真实例-双向可控硅驱动仿真
  10. 苹果微信多开,苹果手机为什么不支持