次の方法で共有


複合型を使用してオブジェクトを追加および変更する方法 (Entity Framework)

このトピックでは、「複合型を使用してモデルを定義する方法 (Entity Framework)」で設計された Entity Data Model を使用します。

アプリケーションを作成して複合型をストレージに追加するには

  1. CustomerComplexAddrClient という名前のコンソール アプリケーション プロジェクトを作成します。

  2. System.Data.Entity および System.Runtime.Serialization の名前空間に参照を追加します。

  3. 複合型を使用してモデルを定義する方法 (Entity Framework)」のトピックに説明されているプロジェクトからビルドされた DLL への参照を追加します。

  4. トピック「複合型を使用してモデルを定義する方法 (Entity Framework)」のスキーマを実行可能ファイルと同じフォルダに追加します。

  5. 次の手順に従ってアプリケーション構成ファイルを作成します。

  6. サンプル コードを Program.cs ファイルにコピーします。

  7. プロジェクトをビルドして実行します。

// 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=&quot;
         Data Source=serverName;
         Initial Catalog=CustomerWComplexAddress;
         Integrated Security=True;
         multipleactiveresultsets=true&quot;"
         providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>

サンプル コードは、複合型の CCustomer および CAddress のエンティティを作成します。CCustomerCAddress のプロパティが初期化されます。CAddressCCustomerAddress プロパティに割り当てられます。CCustomerCAddress の両方がストレージに追加され、変更が保存されます。

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)

概念

複合型 (EDM)