Wie lösche ich eine oder mehr Reihen von meinem Tisch zu Entities mit Linq * ohne * die Zeilen abrufen zuerst?

StackOverflow https://stackoverflow.com/questions/1601350

  •  05-07-2019
  •  | 
  •  

Frage

Ich verstehe ich eine Lösch gespeicherte Prozedur auf die Löschmethode für einen bestimmten Typen zuordnen kann.

Dies erfordert jedoch einem Verfahren meines Kontextes des DeleteObject in einem abgerufenen Objekt übergeben.

Das ist schlimm genug, aber was ist, wenn ich will 2000 Zeilen löschen? Kann ich Entities dies mit Linq tun, ohne zuerst die 2000 Zeilen aus der Datenbank und geht durch eine Schleife calling DeleteObject Abrufen?

Wenn eine solche Funktionalität nicht vorhanden zu Entities in Linq, und Sie wissen, dass dies der Fall zu sein, dann sagen Sie bitte einfach so und ich werde andere Optionen untersuchen!

Wenn es nicht direkt vorhanden ist, konnte ich erreichen, ist durch eine gespeicherte Proc durch Linq to Entities kochend?

War es hilfreich?

Lösung

Ja, Sie können dies tun. Von dieser Tipp :

// Create an entity to represent the Entity you wish to delete
// Notice you don't need to know all the properties, in this
// case just the ID will do.
Category stub = new Category { ID = 4 };
// Now attach the category stub object to the "Categories" set.
// This puts the Entity into the context in the unchanged state,
// This is same state it would have had if you made the query
ctx.AttachTo("Categories", stub);
// Do the delete the category
ctx.DeleteObject(stub);
// Apply the delete to the database
ctx.SaveChanges();

Siehe die volle Spitze für Details und Komplikationen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top