0

是否可以使用 Simple.Data 在更新查询中增加整数?

我的数据库是 SQL Server,但我知道 Simple.Data 被设计为与数据库无关,所以这个查询可能在其他提供程序中不可用。

我试图生成的 SQl 查询如下所示:

UPDATE MyTable SET MyInt = MyInt + 1 WHERE Id = 123

目前我必须在 Simple.Data 中执行 SELECT 和 UPDATE 以实现相同的目的:

var result = db.MyTable.Find(db.MyTable.Id == 123);
result.MyInt++;
db.MyTable.UpdateById(Id: result.Id, MyInt: result.MyInt );

我想知道是否有办法复制上面的单个 SQL 语句。

4

2 回答 2

1

你可以这样做:

db.MyTable.UpdateById(Id: 123, MyInt: db.MyTable.MyInt + 1);

适用于 SQL Server,应该适用于所有基于 SQL 的提供程序。

于 2013-09-26T10:57:11.983 回答
0

我发现如果 int 可以为空且当前值为空,则此方法不起作用。什么都没发生。但是,如果我将值设置为 0,那么它就可以工作。所以我的 int col 现在默认为 0。

于 2016-09-06T12:42:49.407 回答