FreeSql icon indicating copy to clipboard operation
FreeSql copied to clipboard

Update Set更新JsonMap列时出报异常

Open icejd opened this issue 3 months ago • 3 comments

问题描述及重现代码:

       [JsonMap]
       public UserLoginsettingsModel user_loginsettings { get; set; } = new UserLoginsettingsModel();

return fsql.Update<TB_U_UserInfoModel>()
     .Set(a => a.user_email == model.user_email)
     .Set(a => a.user_loginsettings==model.user_loginsettings)
     .Where(a => a.userid == model.userid)
     .ExecuteAffrows()>0;
报错



用
 return fsql.Update<TB_U_UserInfoModel>()
      .SetSource(model)
      .Where(a => a.userid == model.userid)
      .ExecuteAffrows()>0;
则正常

异常截图 Image

数据库版本

Sql Server2012

安装的Nuget包

FreeSq 3.5.303 FreeSql.Provider.SqlServer 3.5.303 FreeSql.Extensions.JsonMap 3.5.303

.net framework/. net core? 及具体版本

.Net 4.8

icejd avatar Nov 20 '25 02:11 icejd

知道问题所以了,需要new .Set(a => new { model.user_loginsettings })

icejd avatar Nov 20 '25 03:11 icejd

.Set(a => a.user_loginsettings, model.user_loginsettings) 用这个呢?

2881099 avatar Nov 20 '25 15:11 2881099

Image 换成这个 //.Set(a => new { user_gatesetting }) .Set(a=>a.user_gatesetting,user_gatesetting) 提示上面的错误

icejd avatar Nov 21 '25 01:11 icejd