Я использую EF 4.3 в приложении ASP.NET WebForms.Я начал с подхода сначала модели с контекстным объектом типа ObjectContext и генератором кода POCO (через T4).
В начале Контекст создавался в начале каждого метода службы.Работая над производительностью, я решил переключиться на контекст для каждого веб-запроса.К сожалению, я столкнулся с проблемой наследования таблиц по типам.У меня есть две сущности: 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 '.
Буду признателен за все советы.