一对多导航查询 .Any() 功能问题 返回
SqlSugar
沟通中
9
764

悬赏:0 飞吻
阿尼亚 你好呀!
我发现当需要一对多导航查询,是否存在值时,有不方便的地方
_db.QueryableWithAttr<PatientMakeEntity>() .Includes(p => p.ChildList) .Select(p => new PatientMakeInfo { Id = p.Id, IsHad = p.ChildList.Any(), //报错 表xx 不存在. }).ToList(); //---------------------------------------------------------- _db.QueryableWithAttr<PatientMakeEntity>() .Includes(p => p.ChildList) .Select(p => new PatientMakeInfo { Id = p.Id, IsHad = p.ChildList.ToList(), //正常,后续通过列表元素个数判断是否有值. }).ToList();
能否通过.Any()直接返回是否有值呢? 望回复,非常感谢!
热忱回答(9)
-
fate sta VIP0
2024/6/3你这个是表不存在,和数据存不存在没有关系
0 回复 -
夏末 VIP0
2024/6/3同服务器,跨库
0 回复 -
fate sta VIP0
2024/6/3_db.QueryableWithAttr<PatientMakeEntity>()
.Select(p =>
new
PatientMakeInfo
{
Id = p.Id,
IsHad = p.ChildList.Any(),
//报错 表xx 不存在.
}).ToList();
这样就行了include都不需要,如晨报表不存在,就是表不存在看数据生成的SQL为什么报错
0 回复 -
fate sta VIP0
2024/6/3AOP看SQL
0 回复 -
fate sta VIP0
2024/6/3看一下SQL是什么样子,可能要配置dblink
0 回复 -
夏末 VIP0
2024/6/3@fate sta:同服务器,跨库, 表确定是存在的, 就是用.Any()时会报错表不存在,用.ToList()正常
0 回复 -
fate sta VIP0
2024/6/3@夏末:我在问你要SQL,回答重点
0 回复 -
fate sta VIP0
2024/6/3要看你生成的SQL为什么不符合默认要求,特殊的要配置dblink
0 回复 -
夏末 VIP0
2024/6/4@fate sta:
var list = await _db.AsTenant().QueryableWithAttr<PatientMakeEntity>() .Where(queryExp.ToExpression()) .Select(p => new PatientMakeInfo { Id = p.Id, IsHeightMgmt = p.ChildList.Any(), }).ToListAsync(); // "msg": "Table 'panda_up.children' doesn't exist" // children 表是 panda_hm 的
SELECT `id` AS `Id` , ( EXISTS (SELECT 1 FROM `children` WHERE `MakeId`=`p`.`id` ) ) FROM `tp_patient_make` `p` WHERE (`create_atime` BETWEEN 1717376887 AND 1717549687)
您有空帮看一下, 我感觉是.Any()目前的功能不能这样用
0 回复