LinQ“高效”更新
“高效”!=性能高效=方便
作者:敖士伟
//=======本例解决大量更新实体时,一个属性一个属性地赋值更新较麻烦的问题 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“高效”更新相关推荐
- Linq学习——更新数据库操作
用LINQ to SQL建模Northwind数据库 在这之前一起学过LINQ to SQL设计器的使用,下面就使用如下的数据模型: 当使用LINQ to SQL设计器设计以上定义的五个类(Produ ...
- 数据湖 data lake_在Data Lake中高效更新TB级数据的模式
数据湖 data lake GOAL: This post discusses SQL "UPDATE" statement equivalent for a data lake ...
- 使用Psycopg2高效更新数据(二)
python: 3.7 pscopg2: 2.7 参考文档Server side cursors 当执行一个数据库查询时,Pscopg cursor通常将查询到的所有数据返回给客户端,如果返回的数据过 ...
- Vue最全知识点,面试必备(基础到进阶,覆盖vue3.0,持续更新整理,欢迎补充讨论)
声明:本篇文章纯属笔记性文章,非整体原创,是对vue知识的整理,对自己有很大帮助才分享出来,参考文章传送:1.童欧巴对vue知识的整理 2.我是你的超级英雄对vue知识的整理 3.vue官网 基础篇 ...
- 前端面试题(持续更新中)
全家桶项目源码:Vue全家桶+SSR+Koa2全栈开发美团网[完整版] 链接:https://pan.baidu.com/s/1cwPDVkj_I5z568mYIHni4A 提取码:24g2 2020 ...
- 优雅地实现一个高效、异步数据实时刷新的列表
今日科技快讯 2月11日消息,据CNBC报道,当特斯拉公司于2019年1月宣布第二轮裁员以控制成本时,一个关键部门受到的打击尤为沉重.两名被裁汰的员工表示,负责向北美地区客户交付Model 3电动汽车 ...
- 前端基础(不定期更新)
### 可视化编辑网页```http document.body.contentEditable="true" document.designMode = "on&quo ...
- 2022年前端Vue常见面试题大全(三万长文)持续更新
目录 1.Vue和React有什么不同?使用场景分别是什么? 2.axios是什么?怎么使用它,怎么解决跨域? 3.说说Vue,React,angularjs,jquery的区别 4.什么阶段(生命周 ...
- 2022年前端Vue常见面试题大全(三万长文)持续更新...
目录 1.Vue和React有什么不同?使用场景分别是什么? 2.axios是什么?怎么使用它,怎么解决跨域? 3.说说Vue,React,angularjs,jquery的区别 4.什么阶段(生命周 ...
最新文章
- 视觉三位重建:计算机视觉的核心任务
- 特斯拉化身电影院,马斯克:车自动开,你来看电影
- js正則表達式--验证表单
- argsort()返回数据从小到大的“索引值”
- spring boot使用注解的方式整合mybaits
- golang的sync包例子
- Java CAS无锁技术深度解析
- 月薪11.5K 土木人零基础转行软件测试工程师,他都经历了什么?
- Hadoop云计算大数据书籍分享
- “华为杯”山东理工大学第十届ACM程序设计竞赛 - 解题报告
- 微信聊天记录导出和年度报告制作小软件
- java水果忍者7723_水果忍者之天下第一
- 效果图什么网站赚零花钱_为什么你赚的钱少
- 黑客必知投资人的那点事儿——The Hacker’s Guide to Investors
- SLAM综述阅读笔记四:A Survey on Deep Learning for Localization and Mapping: Towards the Age of Spatial 2020
- 西北大学计算机转专业,2021年西北大学大一新生转专业及入学考试相关规定
- 入手评测AMD锐龙r7 6800u和酷睿i7 1260p选哪个 r76800u和i71260p对比
- oracle考试地点,Oracle11g认证考试主要途径
- OpenCV入门(七)快速学会OpenCV6色彩空间
- 托福经验分享:20天从93分考到105分