Updateable.InnerJoin.SetColumns中,使用SqlFunc.IIF/IF,表别名丢失了 返回
SqlSugar
沟通中
7
178

悬赏:0 飞吻
sqlserver数据库,对应的sql拷出来,发现SqlFunc.IF和IIF里面执行的逻辑,字段的别名全部都没加上,导致字段不明确,有什么解决办法吗
热忱回答(7)
-
fate sta VIP0
1个月前按问模版 提供完整的DEMO
https://www.donet5.com/Home/Doc?typeId=2366
0 回复 -
Taoyi VIP0
1个月前@fate sta:就是最基础的表关联更新,setColumns时,用case when对应的函数处理表别名丢失了,,,调整为表关联查询在select中就可以正常带出表别名
0 回复 -
Taoyi VIP0
1个月前@fate sta:
[SugarTable("")] public class ClassA { public string EmpId {get; set;} public DateTime EndDate {get; set;} public DateTime StartDate {get; set;} } [SugarTable("")] public class ClassB { public string EmpId {get; set;} public string CourseModel {get; set;} public DateTime? Deadline {get; set;} public int? Period {get; set;} } db.Updateable<ClassA>() .InnerJoin<ClassB>((m, e) => m.EmpId == e.EmpId) .SetColumns((m, e) => new ClassA() { EndDate = SqlFunc.IIF(e.CourseModel.Equals("DATE), SqlFunc.ToDate(e.Deadline).Date, SqlFunc.DateAdd(m.StartDate , e.Period ?? 0 , DateType.Day).Date) }) .ExecuteCommand();
0 回复 -
fate sta VIP0
1个月前编译都没有通过
0 回复 -
fate sta VIP0
1个月前-
0 回复 -
fate sta VIP0
1个月前-
0 回复 -
fate sta VIP0
1个月前SqlSugarCore 5.1.4.178-preview03
过五分钟后更新预览版本已修复
0 回复