Код приложения с AssociationSetMapping (платформа Entity Framework)
Приведенный в этом разделе код приложения иллюстрирует использование на платформе Entity Framework хранимых процедур, добавляющих или удаляющих экземпляры ассоциаций. Модель объектов и хранимые процедуры, используемые в этом примере, описаны в разделе Сопоставление набора ассоциаций с хранимыми процедурами (платформа Entity Framework).
Для добавления и удаления ассоциаций между существующими сущностями используются две базовые последовательности кода.
Вызовите метод
Add
применительно к коллекции EntityCollection, заданной свойством NavigationProperty сущности, и укажите связанный объект. Это применимо к ассоциациям типа «один ко многим» и «многие ко многим».Задайте связанный объект в качестве значения свойству
Value
объекта EntityReference. Это применимо к ассоциациям типа «один к одному» и «многие ко многим».
В следующем коде для создания новых ассоциаций между сущностями Contact и Address используется метод Add
.
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);
}
}
}
}
}
См. также
Задачи
Как изменить связи между объектами (платформа Entity Framework)
Основные понятия
Поддержка хранимых процедур (платформа Entity Framework)
Добавление, изменение и удаление объектов (платформа Entity Framework)