在我的数据库中,我有一个我想要更新的项目。我尝试过做这样的事情,但它不起作用:
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();
有没有办法使用单个查询更新单个对象的不同属性?
答案 0 :(得分:3)
你是对的,多次运行db.Items.Single(...)
可能不是最理想的。
调用一次然后引用其属性应该更有效:
var item = db.Items.Single(t => t.Id == itemId);
item.TotalValue = 999;
item.CurrentValue = 99;
db.SaveChanges();