我在一个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