2010-03-08 9 views
9

Wie lösche ich einen Datensatz mit Linq to SQL nur mit dem Primärschlüssel, ohne den vorhandenen Datensatz aus der Datenbank abrufen zu müssen?So löschen Sie nur mit dem Primärschlüssel?

+0

Ich habe keine VS dies zur Zeit zu testen, aber wäre es nicht etwas sein, so: DataContext.Widgets.Delete (neu {id = 123}) – nathanchere

+0

FerretallicA - Nein, ich hätte das herausgefunden, wenn es der Fall wäre. :) – Jeremy

Antwort

4

Sie sollten in der Lage sein, eine Instanz des Objekts mit der entsprechenden FK und dann Attach() in den Kontext, Delete() und SubmitChanges() zu erstellen, die einen Löschvorgang ohne SQL-Auswahl ausführen.

var foo1 = new Foo {Id = 1}; 
db.Foos.Attach(foo1); 
db.Foos.Remove(foo1); 
db.SubmitChanges();