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
Créez un projet d'application console nommé CustomerComplexAddrClient.
Ajoutez des références aux espaces de noms System.Data.Entity et System.Runtime.Serialization.
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).
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.
Créez un fichier de configuration d'application comme illustré ci-dessous.
Copiez l'exemple de code dans le fichier Program.cs.
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="
Data Source=serverName;
Initial Catalog=CustomerWComplexAddress;
Integrated Security=True;
multipleactiveresultsets=true""
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)