-1
我有一个数据库,我可以存储订单。我想要获得金额大于0的所有订单,然后将数据库中的金额设置为0.问题是,当我想要设置数据库中的值时,当前选定订单的值也会被覆盖。Detatch从数据库Linq列表
var order = db.Orders
.Where(x => x.Amount > 0)
.ToList(); //all Orders with an Amount > 0
db.Orders
.Where(x => x.Amount > 0)
.ToList()
.ForEach(x => x.Amount = 0); //after this line the Amount of the Orders in my List is 0
是否有可能从数据库中“列出”列表,所以我有列表中的原始数量。
这不是问题,它是一个功能:)但严重的是,您可以在检索第一个列表时使用* no tracking query *,例如, 'var order = db.Orders.AsNoTracking()。Where(...)。ToList();' –