9

How do I delete a record using Linq to SQL using only the primary key, without having to retrieve the existing record from the database?

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Jeremy
  • 44,950
  • 68
  • 206
  • 332

2 Answers2

4

You should be able to create an instance of the object with the appropriate FK and then Attach() it to the context, Delete() it and then SubmitChanges() which will perform a delete without performing a sql select.

var foo1 = new Foo {Id = 1};
db.Foos.Attach(foo1);
db.Foos.Remove(foo1);
db.SubmitChanges();
bkaid
  • 51,465
  • 22
  • 112
  • 128
4

Linq to SQL: Delete an entity using Primary Key only - Omar AL ...

http://msmvps.com/blogs/omar/archive/2008/10/30/linq-to-sql-delete-an-entity-using-primary-key-only.aspx

ratty
  • 13,216
  • 29
  • 75
  • 108
  • +1 yup basically you need straight SQL for this, Linq-to-SQL doesn't support it natively.... – marc_s Mar 08 '10 at 05:53