Я использую EF 4.3 в приложении ASP.NET WebForms. Я начал с первого подхода модели с объектом контекста типа ObjectContext и генератором кода POCO (через T4).Общие ошибки PK и ObjectContext
В начале контекст был создан в начале каждого метода обслуживания. Во время работы над производительностью я решил переключиться на контекст для каждого веб-запроса. К сожалению, у меня возникла проблема с наследованием Table-per-Type. У меня есть два объекта: Offer и OfferEdit. Они находятся в отношениях один к одному, и оба имеют один и тот же первичный ключ. В основном таблица OfferEdit (OfferEdits) создается после того, как предложение редактируется.
Я запрашиваю контекст для определенного объекта Предложения более одного раза во время веб-запроса. Я получаю ошибку пытаясь выполнить:
var offer = Context.Offer.Where(o => o.Id == offerId).FirstOrDefault()
, когда это предложение уже загружен в Context.Offer.EntitySet является
Все объекты в EntitySet «RuchEntities.Offer» должны иметь уникальные первичные ключи.
Однако экземпляр типа «Ruch.Data.Model.OfferEdit» и экземпляр типа «Ruch.Data.Model.Offer» оба имеют один и тот же первичный ключ значение «EntitySet = Offer; Id = 4139».
По достоинству оцените все советы.
Мое приложение работает без проблем в течение года. Я столкнулся с проблемой после того, как переключился на контекст для каждого запроса веб-запроса. – muzieh