在Simple.Data Update查询中增加一个整数

时间:2013-09-26 10:47:45

标签: sql simple.data

是否可以使用Simple.Data?

在Update查询中增加整数

我的数据库是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语句。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

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

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

答案 1 :(得分:0)

如果int可以为空并且当前值为null,我发现这不起作用。什么都没发生。但是如果我将值设置为0则可以正常工作。所以我的int col现在默认为0。