Не мога да добавя обект към 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