2

在我的数据库中,我有一个要更新的项目。我尝试做这样的事情,但它不起作用:

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();

有没有办法通过单个查询更新单个对象的不同属性?

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 回答