2

私のデータベースには、更新したい項目が 1 つあります。私はこのようなことを試みましたが、うまくいきません:

db.Items.Where(t => t.Id == itemId).Select(t =>
            {
                t.CurrentValue = 99;
                t.TotalValue = 999;
            });

このコードは何が機能しますが、これは非効率的だと思います (間違っていますか?):

db.Items.Single(t => t.Id == itemId).TotalValue = 999;
db.Items.Single(t => t.Id == itemId).CurrentValue = 99;
db.SaveChanges();

1 つのクエリで、1 つのオブジェクトのさまざまなプロパティを更新する方法はありますか?

4

1 に答える 1

3

あなたは正しいです、db.Items.Single(...)複数回実行することは最適ではないかもしれません。

一度呼び出してからそのプロパティを参照すると、より効率的になります。

var item = db.Items.Single(t => t.Id == itemId);
item.TotalValue = 999;
item.CurrentValue = 99;
db.SaveChanges();
于 2012-08-15T13:06:02.723 に答える