Как сохранить дочерние объекты отношений в Entity Framework

У меня есть проект Entity Framework v1. У меня есть две сущности (роли и разрешения), которые имеют отношения многие ко многим друг с другом. Я передаю объект для сохранения (посредством вызова WCF, я не создаю его из контекста самостоятельно), у которого есть новые записи в отношении многие ко многим.

Я использую "context.ApplyPropertyChanges", чтобы обновить запись с новыми свойствами. Я знаю, что это не обновляет отношения, хотя. Я пытаюсь либо сделатьChildCollection.Добавлять(relatedObject); или жеChildCollection.Прикреплять(relatedObject).

Когда я использую метод «Добавить», я получаю сообщение об ошибке: объект не может быть добавлен в ObjectStateManager, потому что он уже имеет EntityKey. Используйте ObjectContext.Attach, чтобы прикрепить объект, который имеет существующий ключ.

Когда я использую метод Attach, я получаю сообщение об ошибке: объект не может быть добавлен в ObjectStateManager, потому что у него уже есть EntityKey. Используйте ObjectContext.Attach, чтобы прикрепить объект, который имеет существующий ключ.

Я очень расстроен и думаю, что слышу, как Entity Framework смеется надо мной.

Кто-нибудь знает, как я могу решить эту проблему?

MyRole x = context.Roles.FirstOrDefault(a => a.RoleId == this.RoleId);

context.ApplyPropertyChanges("Roles", this);
foreach (MyPermission p in this.Permissions)
{
     x.Permissions.Add(p);
    //  ^ or v
     x.Permissions.Attach(p);
}
context.SaveChanges();

Благодарю.

Ответы на вопрос(3)

Ваш ответ на вопрос