Compartir a través de


Código de aplicación con AssociationSetMapping (Entity Framework)

El código de aplicación de esta sección muestra cómo usa Entity Framework los procedimientos almacenados que agregan o eliminan instancias de asociaciones. Los procedimientos almacenados y el modelo de objetos que se usan en el ejemplo se describen en Asignar conjuntos de asociaciones a procedimientos almacenados (Entity Framework).

Dos secuencias básicas de código se utilizan para agregar y eliminar las asociaciones entre las entidades existentes.

  • Llame a Add en el EntityCollection que especifica una NavigationProperty en una entidad y especifique el objeto relacionado. Esto funciona para las asociaciones uno a varios y varios a varios.

  • Establezca la propiedad Value de EntityReference para el objeto relacionado. Esto funciona para las asociaciones uno a uno y varios a uno.

El código siguiente utiliza el método Add para crear asociaciones nuevas entre las entidades Contact y 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);
                 }

            }

        }
    }
}

Vea también

Tareas

Cómo cambiar las relaciones entre objetos (Entity Framework)

Conceptos

Compatibilidad con los procedimientos almacenados (Entity Framework)
Agregar, modificar y eliminar objetos (Entity Framework)