EecuteReturnEntityAsync 在 PostgreSQL 下没有使用 RETURNING 实现原子操作 返回

SqlSugar 沟通中
1 84



**版本**:SqlSugarCore 5.1.4.211


**问题描述**:

`ExecuteReturnEntityAsync` 方法在 PostgreSQL 数据库下执行更新时,会生成两条 SQL:

1. UPDATE 语句(无 RETURNING)

2. SELECT 语句


这导致:

1. 性能下降(两次数据库往返)

2. 非原子操作(中间可能被其他事务修改)

3. 不符合 PostgreSQL 最佳实践


**期望行为**:

应该生成单条 SQL:`UPDATE ... WHERE ... RETURNING *`


**复现步骤**:

```csharp

var result = await db.Updateable<Entity>()

    .SetColumns(x => x.Name == "test")

    .Where(x => x.Id == id)

    .ExecuteReturnEntityAsync();


热忱回答1

  •   你可以查询后在更新。实现。 或者加上事务

    0 回复