gpt4 book ai didi

linq 扩展方法,如何更新单个项目的多个属性?

转载 作者:行者123 更新时间:2023-12-04 05:35:46 26 4
gpt4 key购买 nike

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

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

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

最佳答案

你是对的,正在运行 db.Items.Single(...)多次可能是次优的。

调用一次然后引用它的属性应该会更有效率:

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

关于linq 扩展方法,如何更新单个项目的多个属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11969796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com