方法: 外部キーのプロパティを使用してオブジェクト間のリレーションシップを変更する
このトピックでは、外部キーのプロパティを使用して、オブジェクト コンテキストの 2 つのオブジェクト間のリレーションシップを変更する方法について説明します。 その他の例については、「外部キーの使用 (Entity Framework)」を参照してください。
このトピックの例には、Adventure Works Sales Model が使用されています。このトピックのコードを実行するには、あらかじめプロジェクトに Adventure Works Sales Model を追加し、Entity Framework を使用するようにプロジェクトを構成しておく必要があります。詳細については、「Entity Data Model ウィザードを使用する方法 (Entity Framework)」、または「Entity Framework プロジェクトを手動で構成する方法」、および「Entity Data Model を手動で定義する方法 (Entity Framework)」を参照してください。
例
この例では、外部キーのプロパティを使用して、SalesOrderHeader オブジェクトと、関連付けられている注文の請求先住所を表す Address オブジェクトとのリレーションシップを変更する方法を示します。
Dim orderId As Integer = 43669
Dim addressId As Integer = 24
Using context As New AdventureWorksEntities()
' Get the order being changed.
Dim order As SalesOrderHeader = context.SalesOrderHeaders.First(Function(o) o.SalesOrderID = orderId)
' Chage the billing address.
order.BillToAddressID = addressId
' Write the current billing street address.
Console.WriteLine("Updated street: " & order.Address.AddressLine1)
' Save the changes.
context.SaveChanges()
End Using
int orderId = 43669;
int addressId = 24;
using (AdventureWorksEntities context
= new AdventureWorksEntities())
{
// Get the order being changed.
SalesOrderHeader order = context.SalesOrderHeaders.First(o => o.SalesOrderID == orderId);
// Chage the billing address.
order.BillToAddressID = addressId;
// Write the current billing street address.
Console.WriteLine("Updated street: "
+ order.Address.AddressLine1);
// Save the changes.
context.SaveChanges();
}
参照
処理手順
EntityReference を使用してオブジェクト間のリレーションシップを変更する方法 (Entity Framework)