Come aggiornare in massa le entità usando EF Core (7)?
Non voglio caricare entità dal server DB, modificare proprietà e aggiornamenti. Voglio solo EF generare un'istruzione UPDATE appropriata.
Come indicato dalla risposta accettata, Entity Framework Core non supporta ancora gli aggiornamenti direttamente nel database.
Disclaimer : sono il proprietario del progetto Entity Framework Plus
Tuttavia, EF + supporta già l' aggiornamento di Query Batch senza caricare entità nel contesto (Supporto: EF Core, EF6, EF5)
// using Z.EntityFramework.Plus; // Don't forget to include this.
// UPDATE all users inactive for 2 years
ctx.Users.Where(x => x.LastLoginDate < DateTime.Now.AddYears(-2))
.Update(x => new User() { IsSoftDeleted = 1 });
Al giorno in cui sto postando questa risposta, con le informazioni in mio possesso, sembra che sia un work in progress
Vedi https://github.com/aspnet/EntityFramework/issues/795
EF non fornisce un meccanismo di aggiornamento in batch. Una proposta è sotto Context.Customers.Update (). Where. (C => c.CustType == "New"). Set (x => x.CreditLimit = 0)
Prendi in considerazione questa funzione? Maggiori dettagli qui: https://entityframework.codeplex.com/workitem/52