Condividi tramite


Codice dell'applicazione con AssociationSetMapping (Entity Framework)

Nel codice dell'applicazione in questa sezione viene illustrato come vengono utilizzate da Entity Framework le stored procedure che aggiungono o eliminano istanze delle associazioni. Il modello a oggetti e le stored procedure utilizzati nell'esempio sono descritti in Mapping di set di associazioni alle stored procedure (Entity Framework).

Per aggiungere ed eliminare le associazioni tra entità esistenti, vengono utilizzate due sequenze del codice di base.

  • Chiamare Add sull'oggetto EntityCollection specificato da una NavigationProperty su un'entità e specificare l'oggetto correlato. Questa procedura è valida per le associazioni uno-a-molti e molti-a-molti.

  • Impostare la proprietà Value di EntityReference sull'oggetto correlato. Questa procedura è valida per le associazioni uno-a-uno e molti-a-uno.

Nel codice seguente viene utilizzato il metodo Add per creare nuove associazioni tra entità Contact e Address.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ContactInformationModel;

namespace ContactAddressModFunc
{
    class Program
    {
        static void Main(string[] args)
        {
            using (ContactInformationEntities objCtx =
                              new ContactInformationEntities())
            {
                 for (int i = 1; i < 11; i++)
                 {
                     Contact contact = new Contact();
                     contact.ContactID = i;
                     contact.FirstName = "Contact " + i.ToString();
                     contact.LastName = "LastName " + i.ToString();

                     Address address = new Address();
                     address.AddressID = i;
                     address.StreetAddress = "Street Address " +
                                                 i.ToString();
                     address.City = "Seattle";

                     objCtx.AddToContacts(contact);
                     objCtx.AddToAddresses(address);
                     contact.Address.Add(address);
                     address.Contact.Add(contact);

                    
                 }
                 objCtx.SaveChanges();

                 foreach (Contact contact in objCtx.Contacts)
                 {
                     Console.WriteLine(contact.LastName);
                     contact.Address.Load();
                     foreach (Address address in contact.Address)
                         Console.WriteLine(address.StreetAddress);
                 }

            }

        }
    }
}

Vedere anche

Attività

Procedura: modificare le relazioni tra gli oggetti (Entity Framework)

Concetti

Supporto delle stored procedure (Entity Framework)
Aggiunta, modifica ed eliminazione di oggetti (Entity Framework)