C# Linq灵活的更新方法

本文介绍了一种利用Action委托来提高更新操作灵活性的方法。通过传递Action委托给通用的Update方法,可以动态地修改对象属性,实现了简洁且灵活的数据更新方式。

委托是个好东西。

C就是函数指针,
C经常用函数指针。why,灵活吗。
那么linq这么灵活,但是总是给方法封装搞到一点都不灵活,现在我就用到了一个Action委托搞到他变得灵活
看下面一个方法 
       /// <summary>
        /// 通用的Update方法,会修改所有除主键的值
        /// </summary>
        /// <param name="record">实体对象</param>
        public static void Update(int rId, Action<Record> action)
        {
            SixDB db = new SixDB();
            Record update = RecordService.Get(db, rId);
            action(update);
            db.SubmitChanges();
        }

调用时就Update(1,p=>p.Num1 = 23);更改一个值
调用时就Update(1,p=>(p.Num1 = 23;p.Num2 = 22));更改两个值
是不是灵活了呢?
我也知道不是一般人能理解的,好的东西,不敢分享太多。
因为,分享会变得非常累,这是因为别人都不懂,搞得越来越累。
所以,有些东西是要藏起来的。

至于为什么会想出这个东西。
用Action,因为古语有云(也不是很古,十几年前的事):不选重复的轮子嘛。
有现成,为什么不用现成的呢?

12号考Java
我很有信心能过,不过能不能好像以前一样数一数二,有点不肯定。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值