ObjectContext.Connection Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera połączenie używane przez kontekst obiektu.
public:
property System::Data::Common::DbConnection ^ Connection { System::Data::Common::DbConnection ^ get(); };
public System.Data.Common.DbConnection Connection { get; }
member this.Connection : System.Data.Common.DbConnection
Public ReadOnly Property Connection As DbConnection
Wartość właściwości
DbConnection Obiekt, który jest połączeniem.
Wyjątki
ObjectContext Gdy wystąpienie zostało usunięte.
Przykłady
W tym przykładzie tworzony EntityConnection jest obiekt przekazywany do konstruktora długotrwałego ObjectContextobiektu . Połączenie jest otwierane ręcznie. Zarówno obiekt, EntityConnection jak ObjectContext i obiekt są usuwane ręcznie.
// Define the order ID for the order we want.
int orderId = 43680;
// Create an EntityConnection.
EntityConnection conn =
new EntityConnection("name=AdventureWorksEntities");
// Create a long-running context with the connection.
AdventureWorksEntities context =
new AdventureWorksEntities(conn);
try
{
// Explicitly open the connection.
if (conn.State != ConnectionState.Open)
{
conn.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;
// You do not have to call the Load method to load the details for the order,
// because lazy loading is set to true
// by the constructor of the AdventureWorksEntities object.
// With lazy loading set to true the related objects are loaded when
// you access the navigation property. In this case SalesOrderDetails.
// Delete the first item in the order.
context.DeleteObject(order.SalesOrderDetails.First());
// Save changes.
if (0 < context.SaveChanges())
{
Console.WriteLine("Changes saved.");
}
// Create a new SalesOrderDetail object.
// You can use the static CreateObjectName method (the Entity Framework
// adds this method to the generated entity types) instead of the new operator:
// SalesOrderDetail.CreateSalesOrderDetail(1, 0, 2, 750, 1, (decimal)2171.2942, 0, 0,
// Guid.NewGuid(), DateTime.Today));
SalesOrderDetail detail = new SalesOrderDetail
{
SalesOrderID = 1,
SalesOrderDetailID = 0,
OrderQty = 2,
ProductID = 750,
SpecialOfferID = 1,
UnitPrice = (decimal)2171.2942,
UnitPriceDiscount = 0,
LineTotal = 0,
rowguid = Guid.NewGuid(),
ModifiedDate = DateTime.Now
};
order.SalesOrderDetails.Add(detail);
// Save changes again.
if (0 < context.SaveChanges())
{
Console.WriteLine("Changes saved.");
}
}
catch (InvalidOperationException ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
// Explicitly dispose of the context and the connection.
context.Dispose();
conn.Dispose();
}
Uwagi
Ta właściwość zwraca obiekt połączenia przekazany do konstruktora lub utworzony podczas budowy. Własność połączenia jest określana przez używane konstruktory.