2012-02-15 40 views
5

Tôi có một bảng có nhiều cột và tôi chỉ muốn cập nhật một cột. Tôi đang viết một phương thức tìm nạp bản ghi đầu tiên và sau đó cập nhật nó bằng cách thay đổi giá trị của cột. Như thế này:Cập nhật một cột trong LINQ to SQL

using (myDC...) 
{ 
    var recordInDB = (from... 
        where .... 
        select r).SingleOrDefault(); 

    if (recordInDB != null) 
    { 
    recordInDB.MyColumn = newValue; 

    myDC.SubmitChanges(); 
    } 

này sẽ tiếp tục tất cả các cột khác như họ và chỉ cập nhật một trong những tôi muốn thay đổi hoặc bị này sẽ xóa tất cả các cột và cập nhật các MyColumn cột với các giá trị mới là?

Trả lời

6

Điều này sẽ không thay đổi các cột khác trong bảng của bạn. Chỉ một trong những bạn đang cập nhật.

4

Điều này sẽ giữ cho các cột mà bạn không chạm vào cách chúng ở trong cơ sở dữ liệu tại thời điểm đọc.

Bật SubmitChanges gọi LINQ2SQL so sánh giá trị trong các trường của đối tượng với giá trị trong cơ sở dữ liệu và chỉ cập nhật những giá trị đã thay đổi.

Các vấn đề liên quan