我试图创建一个1:使用实体框架(.NET 4.0)M关系,并正在以下错误:定义1到实体框架多对多关系
App_Code.Model.msl(36,6) : error 3007: Problem in mapping fragments
starting at lines 6, 36:Column(s) [ProductId] are being mapped in
both fragments to different conceptual side properties.
我有什么是产品表和功能表。这个想法是产品有很多特点。每个产品都有一个ProductId,并且这些Features具有一个ProductId外键。
现在的问题是外键在sql server中不存在,我不希望它。如果确实如此,那么它全部自动地很好地工作。
在EDMX设计器中,我创建了一个从产品到特征实体的关联,然后将ProductFeature关联的映射细节编辑为基于Features表,我认为它会使其工作。
任何想法?非常感谢。
你为什么不想要的FK?忘记EF一秒钟,这将如何从SQL Server的角度工作?您需要功能上的FK来了解它属于哪个“唯一”产品记录。如果你说你不想要这个FK,这听起来像是多对多,在这种情况下,你需要一个联结表(即ProductFeatures - 就像下面的答案一样)。 – RPM1984 2010-10-11 23:36:07
是否有任何特别的原因,您没有使用外键?我明白这只是一个简单的例子,但从你的描述来看,它应该是一个FK。 – 2010-10-11 23:40:56
@ RPM1984 - 我不想对数据库进行更改,因为这是针对现有应用程序/数据库的,而不是绿地的情况。 – Chris 2010-10-11 23:51:05