Эта ошибка была задана по поводу много. Но ни один из случаев, я думаю, не относится к моему конкретному случаю, или, по крайней мере, не совсем.
Я создаю новую сущность с двумя навигационными свойствами, которые являются коллекциями. И сущность, и свойства навигации являются новыми сущностями, которых нет в базе данных. Моя проблема в том, что всякий раз, когда я пытаюсь присоединить сущность к контексту, если в какой-либо из коллекций есть более 1 элемента, я получаю вышеупомянутое исключение.
Я получаю эту ошибку по инструкции Attach()
в следующем коде:
using (var context = new NSModel())
{
context.Notifications.Attach(e);
context.ObjectStateManager.ChangeObjectState(e,
StateHelpers.GetEquivalentEntityState(e.State));
foreach (NavigationProperty1 np in e.NavigationProperty1s)
context.ObjectStateManager.ChangeObjectState(np,
StateHelpers.GetEquivalentEntityState(np.State));
foreach (NavigationProperty2 np in e.NavigationProperty2s)
context.ObjectStateManager.ChangeObjectState(np,
StateHelpers.GetEquivalentEntityState(np.State));
context.SaveChanges();
return e;
}
Код предназначен для веб-сайта, поэтому объекты не сохраняют состояния, а контекст создается и удаляется при каждом вызове ...
Есть идеи?