Partager via


Procédure : ajouter et modifier des objets avec des types complexes (Entity Framework)

Cette rubrique utilise le modèle EDM (Entity Data Model) conçu dans Procédure : définir un modèle avec des types complexes (Entity Framework).

Pour créer une application et ajouter un type complexe au stockage

  1. Créez un projet d'application console nommé CustomerComplexAddrClient.

  2. Ajoutez des références aux espaces de noms System.Data.Entity et System.Runtime.Serialization.

  3. Ajoutez une référence à la DLL générée à partir du projet décrit dans la rubrique Procédure : définir un modèle avec des types complexes (Entity Framework).

  4. Ajoutez les schémas de la rubrique Procédure : définir un modèle avec des types complexes (Entity Framework) au dossier dans lequel se trouve l'exécutable.

  5. Créez un fichier de configuration d'application comme illustré ci-dessous.

  6. Copiez l'exemple de code dans le fichier Program.cs.

  7. Générez et exécutez le projet.

// 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>

Exemple

L'exemple de code indiqué crée une entité du CCustomer et un CAddress de type complexe. Les propriétés du CCustomer et du CAddress sont initialisées. Le CAddress est assigné à la propriété Address du CCustomer. CCustomer et CAddress sont tous deux ajoutés au stockage et les modifications sont enregistrées.

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());
            }
        }
    }
}

Voir aussi

Tâches

Procédure : définir un modèle avec des types complexes (Entity Framework)
Procédure : créer et exécuter des requêtes d'objet avec des types complexes (Entity Framework)

Concepts

Type complexe (EDM)