2010-03-08 33 views
9

Làm cách nào để xóa bản ghi bằng cách sử dụng LINQ to SQL bằng cách sử dụng khóa chính mà không phải truy xuất bản ghi hiện có từ cơ sở dữ liệu?Làm cách nào để xóa chỉ sử dụng khóa chính?

+0

Đừng có VS để kiểm tra điều này vào lúc này nhưng nó sẽ không phải là một cái gì đó như thế này: DataContext.Widgets.Delete (new {id = 123}) – nathanchere

+0

FerretallicA - Không, tôi đã tìm ra rằng nếu nó là như vậy. :) – Jeremy

Trả lời

4

Bạn có thể tạo một đối tượng của đối tượng bằng FK thích hợp và sau đó đính kèm() nó vào ngữ cảnh, Delete() và sau đó SubmitChanges() sẽ thực hiện xóa mà không thực hiện chọn sql.

var foo1 = new Foo {Id = 1}; 
db.Foos.Attach(foo1); 
db.Foos.Remove(foo1); 
db.SubmitChanges(); 
Các vấn đề liên quan