• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Meng.NET
技术改变人生,网络改变生活,信息改变世界.
博客园    首页    新随笔    联系   管理    订阅  订阅
MyDAL - .UpdateAsync() 之 .SetSegment 根据条件 动态设置 要更新的字段 使用

索引:

目录索引

一.API 列表

  1.SetSegment 属性,指示 根据条件 动态拼接 要修改的字段

    见如下示例.

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

 

 1             // update 要赋值的变量
 2             var time = DateTime.Now.ToString();
 3             var propertyVal = "{xxx:yyy,mmm:nnn,zzz:aaa}";
 4 
 5             // 使用 SetSegment 动态 拼接 set field 起点
 6             var set = Conn.Updater<BodyFitRecord>().SetSegment;
 7 
 8             // 根据 条件 判断 是否要对字段 CreatedOn 进行 update
 9             if (!time.IsNullStr())
10             {
11                 set = set.Set(it => it.CreatedOn, DateTime.Parse(time));
12             }
13 
14             // 根据 条件 判断 是否要对字段 BodyMeasureProperty 进行 update
15             if (!propertyVal.IsNullStr())
16             {
17                 set = set.Set(it => it.BodyMeasureProperty, propertyVal);
18             }
19 
20             // 对 SetSegment 设定的字段 进行 update 动作
21             var res1 = await set
22                 .Where(it => it.Id == m.Id)
23                .UpdateAsync();
24 
25             Assert.True(res1 == 1);

  以 MySQL 为例,生成 SQL 如下:

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

 

 

 

                                         蒙

                                    2019-04-13 23:59 周六

 

posted on 2019-04-14 00:00  Meng.NET  阅读(1017)  评论(2)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3