前端构造插入的参数:
[{"ConditionalList":[{"Key":1,"Value":{"FieldName":"code","FieldValue":"","ConditionalType":1,"fieldValue":"A"}},{"Key":0,"Value":{"FieldName":"name","FieldValue":"","ConditionalType":1,"fieldValue":"A"}}]}]
服务端代码:
/// <summary>
/// 分页查询
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost]
[ApiDescriptionSettings(Name = "Page")]
public virtual async Task<SqlSugarPagedList<Formula>> Page(PageQueryInput input)
{
var whereList = _db.Utilities.JsonToConditionalModels(input.QueryJson);
var query = _rep.AsQueryable();
query.IncludesAllFirstLayer(_ignoreColumns);
query.Where(whereList);
query.OrderBy(input.OrderByModels);
return await query.ToPagedListAsync(input.Page, input.PageSize);
}
数据库监控sql :
exec sp_executesql N'SELECT * FROM (SELECT [ArtifactId],[BomId],[EffectCode],[Remark],[Code],[Name],[TenantId],[CreateTime],[UpdateTime],[CreateUserId],[CreateUserName],[UpdateUserId],[UpdateUserName],[IsDelete],[Id],ROW_NUMBER() OVER( ORDER BY GetDate() ) AS RowIndex FROM [Formula] WHERE ( [code] LIKE @Conditcode10000 OR [name] LIKE @Conditname20000 ) ) T WHERE RowIndex BETWEEN 1 AND 20',N'@Conditcode10000 nvarchar(4000),@Conditname20000 nvarchar(4000)',@Conditcode10000=N'%%',@Conditname20000=N'%%'
填充好参数sql:
SELECT * FROM (SELECT [ArtifactId],[BomId],[EffectCode],[Remark],[Code],[Name],[TenantId],[CreateTime],[UpdateTime],[CreateUserId],[CreateUserName],[UpdateUserId],[UpdateUserName],[IsDelete],[Id],ROW_NUMBER() OVER( ORDER BY GetDate() ) AS RowIndex FROM [Formula]
WHERE ( [code] LIKE '%A%' OR [name] LIKE '%A%' ) ) T
WHERE RowIndex BETWEEN 1 AND 20
当前模糊查询,想要的结果是:无数据,该sql 直接在数据库中查询也是无数据的。
现实是,接口返回数据是查到数据了。想不通。之前是不存在该问题的,升级后出现问题了。
当前环境.net8 ,工具升级后版本是 Include="SqlSugarCore" Version="5.1.4.154"
看监控的SQL哪里错了
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
@Conditcode10000=N'%%',@Conditname20000=N'%%'
这个明显值是空的
json有问题
登录 后才可以发表评论