このトピックでは、「複合型を使用してモデルを定義する方法 (Entity Framework)」で設計された Entity Data Model を使用します。
アプリケーションを作成して複合型をストレージに追加するには
CustomerComplexAddrClient という名前のコンソール アプリケーション プロジェクトを作成します。
System.Data.Entity および System.Runtime.Serialization の名前空間に参照を追加します。
「複合型を使用してモデルを定義する方法 (Entity Framework)」のトピックに説明されているプロジェクトからビルドされた DLL への参照を追加します。
トピック「複合型を使用してモデルを定義する方法 (Entity Framework)」のスキーマを実行可能ファイルと同じフォルダに追加します。
次の手順に従ってアプリケーション構成ファイルを作成します。
サンプル コードを Program.cs ファイルにコピーします。
プロジェクトをビルドして実行します。
// The following syntax is used in the App.config file.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="CustomerComplexAddressContext"
connectionString="metadata=.;
provider=System.Data.SqlClient;
provider connection string="
Data Source=serverName;
Initial Catalog=CustomerWComplexAddress;
Integrated Security=True;
multipleactiveresultsets=true""
providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
例
サンプル コードは、複合型の CCustomer および CAddress のエンティティを作成します。CCustomer と CAddress のプロパティが初期化されます。CAddress が CCustomer の Address プロパティに割り当てられます。CCustomer と CAddress の両方がストレージに追加され、変更が保存されます。
Option Explicit On
Option Strict On
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports CustomerComplexAddress
Module Module1
Sub Main()
Try
Using objCtx As CustomerComplexAddressContext = _
New CustomerComplexAddressContext()
Dim newCustomer12 As CCustomer = New CCustomer()
newCustomer12.CustomerId = 12
newCustomer12.ContactTitle = "Title 12"
newCustomer12.ContactName = "Contact 12"
newCustomer12.CompanyName = "Company 12"
Dim newAddress12 As CAddress = New CAddress()
newAddress12.StreetAddress = "1121 St"
newAddress12.City = "Redmond"
newAddress12.Region = "WA"
newAddress12.Country = "USA"
newAddress12.PostalCode = "97612"
newAddress12.Phone = "2344567812"
newAddress12.Fax = "3451238712"
newCustomer12.Address = newAddress12
objCtx.AddToCCustomers(newCustomer12)
objCtx.SaveChanges()
End Using
Catch ex As Exception
Console.WriteLine(ex.ToString())
End Try
End Sub
End Module
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CustomerComplexAddress;
namespace CustomerComplexAddrClient
{
class Program
{
static void Main(string[] args)
{
try
{
using (CustomerComplexAddressContext objCtx =
new CustomerComplexAddressContext())
{
CCustomer newCustomer10 = new CCustomer();
newCustomer10.CustomerId = 10;
newCustomer10.ContactTitle = "Title 10";
newCustomer10.ContactName = "Contact 10";
newCustomer10.CompanyName = "Company 10";
CAddress newAddress10 = new CAddress();
newAddress10.StreetAddress = "1001 St";
newAddress10.City = "Redmond";
newAddress10.Region = "WA";
newAddress10.Country = "USA";
newAddress10.PostalCode = "97600";
newAddress10.Phone = "2344567890";
newAddress10.Fax = "3451238700";
newCustomer10.Address = newAddress10;
objCtx.AddToCCustomers(newCustomer10);
objCtx.SaveChanges();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
}
}
参照
処理手順
複合型を使用してモデルを定義する方法 (Entity Framework)
複合型を使用してオブジェクト クエリを作成および実行する方法 (Entity Framework)