オブジェクト コンテキストから接続を手動で開く方法 (Entity Framework)
このトピックでは、オブジェクト コンテキストから接続を手動で開く方法について説明します。
このトピックの例には、AdventureWorks Sales Model が使用されています。 To run the code in this example, you must have already added the AdventureWorks Sales Model to your project and configured your project to use the Entity Framework. 具体的な方法については、「Entity Data Model ウィザードを使用する方法 (Entity Framework)」の手順を参照してください。
例
この例では、接続を手動で開いた後、クエリを実行し、変更を保存します。 コンテキストがスコープ外になり、破棄されたときに、接続が閉じられます。
' Define the order ID for the order we want.
Dim orderId As Integer = 43680
Using context As New AdventureWorksEntities()
' Explicitly open the connection.
context.Connection.Open()
' Execute a query to return an order.
Dim order As SalesOrderHeader = context.SalesOrderHeaders.Where("it.SalesOrderID = @orderId", _
New ObjectParameter("orderId", orderId)).Execute(MergeOption.AppendOnly).First()
' Change the status of the order.
order.Status = 1
' Save changes.
If 0 < context.SaveChanges() Then
Console.WriteLine("Changes saved.")
End If
' The connection is closed when the object context
' is disposed because it is no longer in scope.
End Using
// Define the order ID for the order we want.
int orderId = 43680;
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
// Explicitly open the connection.
context.Connection.Open();
// Execute a query to return an order.
SalesOrderHeader order =
context.SalesOrderHeaders.Where(
"it.SalesOrderID = @orderId", new ObjectParameter("orderId", orderId))
.Execute(MergeOption.AppendOnly).First();
// Change the status of the order.
order.Status = 1;
// Save changes.
if (0 < context.SaveChanges())
{
Console.WriteLine("Changes saved.");
}
// The connection is closed when the object context
// is disposed because it is no longer in scope.
}
参照
処理手順
実行時間の長いオブジェクト コンテキストの接続を管理する方法 (Entity Framework)
オブジェクト コンテキストで EntityConnection を使用する方法 (Entity Framework)