使用 ConditionalModel 查询出现错误:Unknown column 'roleId' in 'where 返回
SqlSugar
沟通中
7
812
悬赏:0 飞吻
查询代码:
await _context.Queryable<User>()
.Includes(p => p.Auth_Roles)
.Where(where).Where(advance)
.Select(p => new
{
Id = p.Id,
UserName = p.UserName,
Name = p.Name,
Email = p.Email,
PhoneNumber = p.PhoneNumber,
RoleId = SqlFunc.IIF(p.Auth_Roles.Any(), p.Auth_Roles.FirstOrDefault().Id, 0),
RoleName = SqlFunc.IIF(p.Auth_Roles.Any(), p.Auth_Roles.FirstOrDefault().Name, null),
Enabled = p.LockoutEnabled ? false : true,
IsDeleted = p.IsDeleted
})
.MergeTable()
.ToPageListAsync(query.PageIndex, query.PageSize, total);查询条件:
[{"ConditionalList":[{"Key":0,"Value":{"FieldName":"roleId","FieldValue":1,"ConditionalType":1}}]}]
热忱回答(7)
-
fate sta VIP0
2025/7/6AOP看一下报错SQL
0 回复 -
1764564459 VIP0
2025/7/7@fate sta:
SELECT Count(*) FROM (SELECT `Id` AS `Id` , `UserName` AS `UserName` , `Name` AS `Name` , `Email` AS `Email` , `PhoneNumber` AS `PhoneNumber` , `TenantId` AS `TenantId` , (SELECT `Name` FROM `tenant` WHERE `p`.`TenantId`=`Id` ) AS `TenantName` , `OrganizeId` AS `OrganizeId` , (SELECT `Name` FROM `organize` WHERE `p`.`OrganizeId`=`Id` ) AS `OrganizeName` , ( CASE WHEN ( `LockoutEnabled` = @LockoutEnabled2 ) THEN @MethodConst3 ELSE @MethodConst4 END ) AS `Enabled` , `IsDeleted` AS `IsDeleted` ,`p`.`Id` AS SugarNav_Id,`p`.`TenantId` AS SugarNav_TenantId,`p`.`OrganizeId` AS SugarNav_OrganizeId FROM `auth_user` `p` WHERE `TenantId` = @ConditTenantId0 AND `OrganizeId` IS NULL AND `IsDeleted` = @ConditIsDeleted2 AND ( `roleId` LIKE @ConditroleId10000 ) ) MergeTable
0 回复 -
1764564459 VIP0
2025/7/7确实没有roleId列
0 回复 -
1764564459 VIP0
2025/7/7@fate sta:没有条件查询是可以查询的,添加条件后会出现这个错误,有解决方案么
0 回复 -
fate sta VIP0
2025/7/7你数据库没有这列肯定报错。。
0 回复 -
fate sta VIP0
2025/7/7varentityInfo= db.EntityMaintenance.GetEntityInfoNoCache(typeof(Order));Console.WriteLine(entityInfo.DbTableName);//输出表名foreach(varcolumninentityInfo.Columns){Console.WriteLine(column.ColumnDescription);//输出列的信息 column.xxx}你可以 实体管理有没有这个例。。有这个列才加入条件
0 回复 -
1764564459 VIP0
2025/7/7@fate sta:这是其他表的字段,想用include级联查询出来
0 回复