我正在用 c# 重写一个 SProc。问题是在 SProc 中有这样的查询:
select top 1 *
from ClientDebt
where ClinetID = 11234
order by Balance desc
例如:我有一个客户有 3 笔债务,所有债务的余额都相同。债务 ID 为:1,2,3
该查询的 c# 等效项是:
debts.OrderByDescending(d => d.Balance)
.FirstOrDefault()
债务代表客户 3 项债务
有趣的部分是 sql 用 Id 2 返回债务,但 c# 代码返回 Id 1。Id 1 对我来说很有意义但是为了保持代码功能相同,我需要更改 c# 代码以返回中间代码。
我不确定 sql top 1 背后的逻辑是什么,其中有几行与查询匹配。
该查询将选择一项债务并更新数据库。我希望 linq 使用 sql 返回相同的结果
谢谢