我在一個ASP.NET WebForms應用程序中使用EF 4.3。我已經使用ObjectContext類型的上下文對象和POCO代碼生成器(通過T4)開始使用模型優先方法。共享PKs和ObjectContext錯誤
在開始時,Context在每個服務方法的開始時創建。在處理性能時,我決定切換到每個Web請求的上下文。不幸的是我遇到了Table-per-Type繼承的問題。我有兩個實體:Offer和OfferEdit。他們處於一對一的關係,並且都擁有相同的主鍵。基本上,一個OfferEdit(OfferEdits表)在創建一個Offer後被創建。
我在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'。
將感謝所有的建議。
我的應用程序在一年內一直沒有任何問題。根據Web請求解決方案切換到上下文後,我遇到了問題。 – muzieh 2012-02-23 11:55:43