私はASP.NET WebFormsアプリケーションでEF 4.3を使用しています。私は、ObjectContext型とPOCOコードジェネレータのコンテキストオブジェクト(T4経由)でモデルの最初のアプローチを開始しました。共有PKとObjectContextエラー
最初に、コンテキストはすべてのサービスメソッドの始めに作成されました。パフォーマンスに取り組んでいるうちに、Webリクエストごとにコンテキストに切り替えることにしました。残念ながら、私はテーブルごとの継承に関する問題に遭遇しました。 OfferとOfferEditの2つのエンティティがあります。これらは1対1の関係にあり、両方とも同じ主キーを共有します。オファーが編集されると、OfferEdit(OfferEditsテーブル)が作成されます。
Webリクエスト中に特定のOfferエンティティのコンテキストを複数回クエリします。私が実行しようとしますエラー:
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'を持ちます。
すべてのアドバイスをいただければ幸いです。
私のアプリケーションは1年間問題なく動作しています。 Web要求ソリューションごとのコンテキストに切り替えた後に問題が発生しました。 – muzieh