Я не могу добавить объект в ObjectContext, хотя я уверен, что он не прикреплен и не связан с другим контекстом.
Я использую EF 4 с объектами POCO.
Если я попытаюсь
_currentContext.ObjectStateManager.GetObjectStateEntry(entityIn)
Затем я получаю ошибку
The ObjectStateManager does not contain an ObjectStateEntry with a reference to an object of type 'System.Data.Entity.DynamicProxies.OrderItem_7D361CB49D75AA90681B4BA3F924139ECB0FC1426E38E90C7B884A4E9CD777DF'.
Справедливо его нет. Поэтому, если я попытаюсь прикрепить его
_currentContext.AttachTo("OrderItems", entityIn)
Тогда я получаю
An entity object cannot be referenced by multiple instances of IEntityChangeTracker.
Как я могу получить обе ошибки. Не противоречат?? Как я могу привязать его к контексту?
Изменить
Во всем приложении есть только один контекст. Шаблон
- Все вызовы через объекты репозитория.
- Объекты получают свой объектный контекст из фабричного класса.
- Этот фабричный класс либо создает контекст, либо получает контекст из объекта запроса, что гарантирует использование только одного контекста для жизненного цикла страницы.
В любой момент, если вы возьмете два экземпляра объекта контекста, хэш-код для каждого будет одинаковым.
null
, прежде чем прикреплять. Мое предположение также может быть ошибочным, я не уверен, действительно ли эта ошибка о нескольких экземплярахIEntityChangeTracker
имеет ту же причину, что и мой связанный ответ. - person Slauma   schedule 14.11.2011