방법: 데이터베이스에서 행 업데이트
LINQ to SQL Table<TEntity> 컬렉션과 연결된 개체의 멤버 값을 수정한 다음, 변경 내용을 데이터베이스에 제출하여 데이터베이스의 행을 업데이트할 수 있습니다. LINQ to SQL은 변경 내용을 적절한 SQL UPDATE
명령으로 변환합니다.
참고 항목
Insert
, Update
및 Delete
데이터베이스 작업에 대한 LINQ to SQL 기본 메서드를 재정의할 수 있습니다. 자세한 내용은 삽입, 업데이트 및 삭제 작업 사용자 지정을 참조하세요.
Visual Studio를 사용하는 개발자는 개체 관계형 디자이너를 사용하여 동일한 용도로 저장 프로시저를 개발할 수 있습니다.
다음 단계에서는 올바른 DataContext를 사용하여 사용자가 Northwind 데이터베이스에 연결되는 것으로 가정합니다. 자세한 내용은 방법: 데이터베이스에 연결을 참조하세요.
데이터베이스의 행을 업데이트하려면
업데이트할 행에 대한 데이터베이스를 쿼리합니다.
결과 LINQ to SQL 개체의 멤버 값에 대해 필요한 사항을 변경을 합니다.
데이터베이스에 변경 내용을 전송합니다.
예시
다음 예제에서는 주문 #11000에 대한 데이터베이스를 쿼리한 다음 결과 ShipName
개체의 ShipVia
과 Order
에 대한 값을 변경합니다. 마지막으로 이러한 멤버 값의 변경 내용을 ShipName
과 ShipVia
열의 변경 내용으로 데이터베이스에 전송합니다.
// 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