Aop Sql打印问题 返回

SqlSugar 沟通中
4 298
该叫什么 fry 发布于2026/5/21
悬赏:0 飞吻

await _repository.UpdateSetColumnsTrueAsync(x => new TestGuid { Name = "123"}, x => x.Id == id);

这种根据主键更新单列的执行方法,监控Aop的时候,生成的Sql语句和参数有问题

Sql语句如下:

SELECT

`Name`,

`DeptId`,

`TenantId`,

`PlatformId`,

`Id`,

`CreateId`,

`CreateName`,

`CreateTime`,

`UpdateId`,

`UpdateName`,

`UpdateTime`,

`IsDeleted` 

FROM

`TestGuid` 

WHERE

NOT ( `IsDeleted` = 1 ) 

AND ( `TenantId` = @TenantId1000 ) 

AND ( `PlatformId` = @PlatformId1001 ) 

AND ( `Id` = @Id1 )

其中@TenantId1000和@PlatformId1001是对的

 @Id1这个参数有两个,截图如下:

image.png

展开6和7的参数如下图:

image.png


image.png


这里面怎么会有一个@Id=' 00000000-0000-0000-0000-000000000000'的参数?





热忱回答4

  • fate sta fate sta VIP0
    2026/5/21

    应该是多一个参数,不影响结果

    0 回复
  • fate sta fate sta VIP0
    2026/5/21

    后面这个函数优化一下。

    0 回复
  • fry fry VIP0
    2026/5/22

    @fate sta:这边要监控执行的Sql,参数要替换(@Id和@Id1这两个),替换的时候@Id也匹配到了@Ids了,导致Sql的语句打印出来是错的

    0 回复
  • fry fry VIP0
    2026/5/22

    @fate sta:结果是对的,但是他影响sql的打印替换,这个问题可以稍微优化一下

    0 回复