Скомпилировано в моей голове против CTP4, так что имейте в виду.
public void AddPersonToList(int id, int toAdd)
{
var mailList = new MailList { ID = id, ContactInformations = new List<ContactInformation>() };
this.db.MailLists.Attach(mailList);
var ci = new ContactInformation { ID = toAdd };
this.db.ContactInformations.Attach(ci);
this.db.ObjectStateManager.ChangeRelationshipState(mailList, ci, ml => ml.ContactInformations, System.Data.EntityState.Added);
}
Вам необходимо вызвать SaveChanges, прежде чем что-либо сохранится.
Присоединение и сущность только с идентификатором и работа сStatemanager действительно хорошо работает в EF и позволяет создавать действительно хорошие решения с точки зрения производительности.