다음을 통해 공유


방법: 데이터베이스에서 행 업데이트

LINQ to SQL Table<TEntity> 컬렉션과 연결된 개체의 멤버 값을 수정한 다음, 변경 내용을 데이터베이스에 제출하여 데이터베이스의 행을 업데이트할 수 있습니다. LINQ to SQL은 변경 내용을 적절한 SQL UPDATE 명령으로 변환합니다.

참고 항목

Insert, UpdateDelete 데이터베이스 작업에 대한 LINQ to SQL 기본 메서드를 재정의할 수 있습니다. 자세한 내용은 삽입, 업데이트 및 삭제 작업 사용자 지정을 참조하세요.

Visual Studio를 사용하는 개발자는 개체 관계형 디자이너를 사용하여 동일한 용도로 저장 프로시저를 개발할 수 있습니다.

다음 단계에서는 올바른 DataContext를 사용하여 사용자가 Northwind 데이터베이스에 연결되는 것으로 가정합니다. 자세한 내용은 방법: 데이터베이스에 연결을 참조하세요.

데이터베이스의 행을 업데이트하려면

  1. 업데이트할 행에 대한 데이터베이스를 쿼리합니다.

  2. 결과 LINQ to SQL 개체의 멤버 값에 대해 필요한 사항을 변경을 합니다.

  3. 데이터베이스에 변경 내용을 전송합니다.

예시

다음 예제에서는 주문 #11000에 대한 데이터베이스를 쿼리한 다음 결과 ShipName 개체의 ShipViaOrder에 대한 값을 변경합니다. 마지막으로 이러한 멤버 값의 변경 내용을 ShipNameShipVia 열의 변경 내용으로 데이터베이스에 전송합니다.

// Query the database for the row to be updated.
var query =
    from ord in db.Orders
    where ord.OrderID == 11000
    select ord;

// Execute the query, and change the column values
// you want to change.
foreach (Order ord in query)
{
    ord.ShipName = "Mariner";
    ord.ShipVia = 2;
    // Insert any additional changes to column values.
}

// Submit the changes to the database.
try
{
    db.SubmitChanges();
}
catch (Exception e)
{
    Console.WriteLine(e);
    // Provide for exceptions.
}
' Query the database for the row to be updated.
Dim ordQuery = _
    From ord In db.Orders _
    Where ord.OrderID = 11000 _
    Select ord

' Execute the query, and change the column values
' you want to change.
For Each ord As Order In ordQuery
    ord.ShipName = "Mariner"
    ord.ShipVia = 2
    ' Insert any additional changes to column values.
Next

' Submit the changes to the database.
Try
    db.SubmitChanges()
Catch e As Exception
    Console.WriteLine(e)
    ' Make some adjustments.
    ' ...
    ' Try again
    db.SubmitChanges()
End Try

참고 항목