Antwort

0

Wenn Sie nicht wollen, raw SQL-Befehl (warum nicht? Es ist viel schneller) und wollen EF verwenden - Sie sollten Elemente von DB in den Speicher lesen (Select/Load), verarbeiten sie im Speicher (for/foreach) und zurück in DB speichern:

var entities = await dbContext.myEntity.ToListAsync(); 
foreach(var enitity in entities) { 
    entity.Name += "AAA"; 
} 
await dbContext.SaveChangesAsync(); 

Das ist viel langsamer.

Für EF 6 können Sie EntityFramework.Extended versuchen und UPDATE-Befehl damit erstellen.

+0

_why nicht? _: Weil es nicht immer geradeheraus ist, es zu tun. Das Feststellen der Abfrage ist nicht immer möglich, da sich die Namen der DB-Tabelle manchmal ändern können. Dann müssen Sie den Tabellennamen Entitätsnamen zuordnen, was möglich ist, aber ein Aufwand. Und dann kann Ihr Datenbankadministrator es einer (schreibgeschützten) Ansicht zuordnen, und die Abfrage wird mit einem Fehler ausgeführt. Wenn Sie es wirklich in der Datenbank ausführen möchten, sollten Sie gespeicherte Prozeduren verwenden. – Sefe

Verwandte Themen