5

MS SQL データベース テーブルには、行の更新後に値が変化するタイムスタンプフィールドがあります。更新する前に、行が別のサービスから変更されているかどうかを確認したい。

メモリ内のオブジェクトのタイムスタンプ値とデータベース テーブルの値を比較することで、これを行うことができます。

1 つのアトミック操作でlinq2dbで実行できますか?

チェックせずに動作します:

db.Update(product);

次の 3 つのクエリは機能しません。

db.Products.Where(p => p.timestamp == product.timestamp).Update(p => p, product);
db.Products.Update(p => p.timestamp == product.timestamp, p => product );
db.Where<DB, Product, DB>(p => p.timestamp == product.timestamp).Update(product);

次のようにSQLスクリプトを実行したい:

update Products
set ...-- all fields
where Id = @id and Timestamp = @timestamp
4

1 に答える 1