help
Root Question Message
var product = await _dbContext.Products
.Include(x => x.Additionals)
.Where(p => p.Id == Id)
.Select(x => new Product { Id = x.Id, Name = x.Name, Additionals = x.Additionals })
.SingleOrDefaultAsync();
product.Name = "ChangedName";
await _dbContext.SaveChangesAsync(); //no database changes
var product = await _dbContext.Products
.Include(x => x.Additionals).SingleOrDefaultAsync(p => p.Id == Id);
product.Name = "ChangedName";
await _dbContext.SaveChangesAsync(); //correct changes
.Select()
it's a different object.Select(p => p.Price)
?.Select(p => new { Cost = p.Price, Text = p.Name }
?.ExecuteUpdateAsync()
that was added in EF Core 7.Select()
is used when you only intend to display the values, not change them