子查询里用到主表的某个属性,生成的SQL语句中子查询的sql语句包含it别名,主表表明没有别名,导致无法执行 返回
SqlSugar
沟通中
3
271
宇航 发布于2025/8/12
悬赏:0 飞吻
环境
.net版本:6.0
sqlsugar版本:5.1.4.199
子查询里用到主表的某个属性,生成的SQL语句中子查询的sql语句包含it别名,主表表明没有别名,导致无法执行
var info = await db.Queryable<ProjectEntity>().Includes(it => it.Extend)
.Where(it => it.Id == id)
.Select(it => new ChildProjectFullInfoOutput
{
id = it.Id,
parentId = it.ParentId,
parentName = it.ParentId == "0" ? "" : SqlFunc.Subqueryable<ProjectEntity>().Where(s => s.Id.Equals(it.ParentId)).Select(s => s.FullName),
enCode = it.EnCode,
fullName = it.FullName,
htJine = it.HtJine,
extend = it.Extend.Adapt<ProjectExtendDetail>(),
type = it.Type,
htQyrq = it.HtQyrq.Value.ToString("yyyy-MM-dd"),
htJsfs = it.HtJsfs,
htGq = it.HtGq,
}).FirstAsync();生成的SQL语句
SELECT `F_ID` AS `id` , `f_parent_id` AS `parentId` , ( CASE WHEN ( `f_parent_id` = N'0' ) THEN N'' ELSE (SELECT `s`.`f_full_name` FROM `wy_project` `s` WHERE (`s`.`F_ID` = `it`.`f_parent_id`) limit 0,1) END ) AS `parentName` , `f_en_code` AS `enCode` , `f_full_name` AS `fullName` , `f_ht_jine` AS `htJine` , `f_type` AS `type` , DATE_FORMAT(`f_ht_qyrq`, '%Y-%m-%d') AS `htQyrq` , `f_ht_jsfs` AS `htJsfs` , `f_ht_gq` AS `htGq` ,`F_ID` AS SugarNav_Id FROM `wy_project` WHERE ( `F_ID` = N'723707971841818565' ) LIMIT 0,1
热忱回答(3)
-
fate sta VIP0
2025/8/12好的我看一下。
0 回复 -
宇航 VIP0
2025/8/12@fate sta:你好,把子查询的Equals改为==,生成的SQL语句主表就包含别名it了。应该是Equals的BUG。
0 回复 -
fate sta VIP0
2025/8/12SqlSugarCore 5.1.4.200-preview16
勾预览已修复
0 回复