首页 > 解决方案 > EF CORE UPDATE 列为其添加价值

问题描述

如何将下面的 SQL 命令转换为 C# EF CORE?

UPDATE table
   SET vlr = vlr + 100
 WHERE id = 1

注意:“vlr”列中的当前值为 1000。

使用以下代码:

var reg = await _context.Table.FirstOrDefaultAsync(f => f.Id == 1);

reg.Vlr = reg.Vlr + 100;

Or

reg.Vlr += 100;

在 SQL 这个 SQL 命令中的结果:

exec sp_executesql N'SET NOCOUNT ON;
UPDATE [table] SET [vlr] = @p0
WHERE [id] = @p1;
SELECT @@ROWCOUNT;',N'
@p0 decimal(5,2),@p1 int',@p0=1100,@p1=1

我需要这样的结果:

exec sp_executesql N'SET NOCOUNT ON;
UPDATE [table] SET [vlr] = [vlr] + @p0
WHERE [id] = @p1;
SELECT @@ROWCOUNT;',N'
@p0 decimal(5,2),@p1 int',@p0=100,@p1=1

感谢您的帮助!

标签: c#sql-serveref-core-3.0

解决方案


推荐阅读