2017-10-04 1 views
0

Ich habe eine Web-API-Methode, die eine Liste nimmt. Diese Liste enthält eine Liste von IDs, die ein eindeutiger Schlüssel für eine Tabelle sind.Aktualisiere eine Spalte, in der UniqueId in einer Liste ist <long> - mit Entity Framework

Ich möchte eine Update-Anweisung, wo der Schlüssel übereinstimmt. Aber ich möchte nicht alle diese Entitäten abfragen müssen (und die Materialisierungskosten dafür bekommen).

Ich weiß, dass ich dies tun kann, indem ich einen benutzerdefinierten Tabellentyp mache und die Liste an eine gespeicherte Prozedur übergebe und das Update von diesem aus führe.

Aber ich dachte, ich würde zuerst fragen, ist das eine gemeinsame Sache, die Entity Framework kann dies ohne Einrichtung einer gespeicherten Prozedur tun?

+0

Kurz gesagt - nein, EF ist über den Betrieb mit materialisierten Objekten. – Backs

Antwort

1

EF hat keine Batch-Operationen. Sie können versuchen EntityFramework.Extended:

context.Tasks 
    .Where(t => list.Contains(t.Id)) 
    .Update(t => new Task { StatusId = 2 }); 
Verwandte Themen