MyDAL - .UpdateAsync() 之 .Set() 使用

ORM框架更新操作详解
本文详细介绍了使用ORM框架进行数据库更新操作的方法,包括单字段更新、多字段更新及动态字段更新,并提供了具体的代码示例和生成的SQL语句,帮助读者深入理解ORM框架的更新机制。

索引:

目录索引

一.API 列表

  1.Set<M, F>(Expression<Func<M, F>> propertyFunc, F newVal)

    如: .Set(it => it.BodyMeasureProperty, "{xxx:yyy,mmm:nnn,zzz:aaa}") 用于 单表 指定字段更新

  2.Set<M>(dynamic filedsObject)

    用于 单表 指定多字段更新

二.API 单表-完整 方法 举例-01

1        // 多 字段 多 set 用法
2        var res1 = await Conn
3            .Updater<BodyFitRecord>()  // 更新表 BodyFitRecord 
4            .Set(it => it.CreatedOn, DateTime.Now)    //  设置字段 CreatedOn 值
5            .Set(it => it.BodyMeasureProperty, "{xxx:yyy,mmm:nnn,zzz:aaa}")  //  设置字段 BodyMeasureProperty 值
6            .Where(it => it.Id == m.Id)
7            .UpdateAsync();

  以 MySQL 为例,生成 SQL 如下:

1 update `bodyfitrecord`
2 set `CreatedOn_col`=?CreatedOn_col_1,
3     `BodyMeasureProperty`=?BodyMeasureProperty_2
4 where  `Id`=?Id_3;

三.API 单表-完整 方法 举例-02

 1        //
 2        var res1 = await Conn
 3            .Updater<AgentInventoryRecord>()  // 更新表 AgentInventoryRecord 
 4            .Set(new
 5             {
 6                TotalSaleCount = 1000,   // 更新 字段 TotalSaleCount
 7                xxx = 2000  // 字段 xxx 在表中无对应 , 自动忽略
 8             })
 9            .Where(it => it.Id == Guid.Parse("032ce51f-1034-4fb2-9741-01655202ecbc"))
10            .UpdateAsync();

  以 MySQL 为例,生成 SQL 如下:

1 update `agentinventoryrecord`
2 set `TotalSaleCount`=?TotalSaleCount_1
3 where  `Id`=?Id_2;

四.API 单表-完整 方法 举例-03

 1        // 要更新的 model 字段 赋值
 2        var model = new AgentInventoryRecord();
 3        model.TotalSaleCount = 1000;
 4 
 5        //
 6        var res1 = await Conn
 7            .Updater<AgentInventoryRecord>()  //更新表 AgentInventoryRecord
 8            .Set(new
 9             {
10                model.TotalSaleCount,   //  更新 字段 TotalSaleCount
11                xxx = 2000   //  字段 xxx 在表中无对应 ,自动忽略
12             })
13            .Where(it => it.Id == Guid.Parse("032ce51f-1034-4fb2-9741-01655202ecbc"))
14            .UpdateAsync();

  以 MySQL 为例,生成 SQL 如下:

1 update `agentinventoryrecord`
2 set `TotalSaleCount`=?TotalSaleCount_1
3 where  `Id`=?Id_2;

 

 

 

 

                                         蒙

                                    2019-04-12 17:27 周五

 

转载于:https://www.cnblogs.com/Meng-NET/p/10697381.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值