0
1つのテーブルのレコードに対して更新を実行する必要がありますが、この更新が許可されるかどうかは別のテーブルのレコードの値によって異なります。私は2つのエンティティをダウンロードしてチェックし、値を変更して保存することができます。EFでレコードを更新し、別のテーブルで同時実行チェックを使用する
これまでのところ、とても良いですが、確認と保存の間に「許可」レコードが変わらないことを確認する必要があります。基本的には、並行処理のようなものが必要ですが、変更されたレコードには必要ありません。
エンティティフレームワークの場合。可能であれば、プロシージャやSQLに切り替えない方がよいです。
私のシナリオ。
var db = new MyDb();
var allowingRecord = db.AllowingRecords.First();
if(allowingRecord.Allow) // allows to make changes in RecordsToChange
{
var recordToChange = db.RecordsToChange.First();
recordToChange.FieldToChange = "Changing";
}
// Somwhere right here allowingRecord.Allow changes to false, but entity is not updated
db.SaveChanges();
)