Procedura: aggiungere e modificare oggetti con tipi complessi (Entity Framework)
In questo argomento viene utilizzato il modello EDM (Entity Data Model) progettato in Procedura: definire un modello con un tipo complesso (Entity Framework).
Per creare un'applicazione e aggiungere un tipo complesso all'archivio
Creare un progetto di applicazione console denominato CustomerComplexAddrClient.
Aggiungere i riferimenti agli spazi dei nomi System.Data.Entity e System.Runtime.Serialization.
Aggiungere un riferimento alla DLL compilata in base al progetto descritto nell'argomento Procedura: definire un modello con un tipo complesso (Entity Framework).
Aggiungere gli schemi inclusi nell'argomento Procedura: definire un modello con un tipo complesso (Entity Framework) alla stessa cartella del file eseguibile.
Creare un file di configurazione dell'applicazione come illustrato di seguito.
Copiare il codice di esempio nel file Program.cs.
Compilare ed eseguire il progetto.
// 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>
Esempio
Il codice di esempio illustrato consente di creare un'entità di CCustomer e un oggetto CAddress di tipo complesso. Le proprietà di CCustomer e CAddress vengono inizializzate. CAddress è assegnato alla proprietà Address di CCustomer. Sia CCustomer che CAddress vengono aggiunti all'archivio e le modifiche vengono salvate.
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());
}
}
}
}
Vedere anche
Attività
Procedura: definire un modello con un tipo complesso (Entity Framework)
Procedura: creare ed eseguire query di oggetto con tipi complessi (Entity Framework)