实体FrameWork无法识别一对多关联。为什么?

时间:2011-08-11 08:28:31

标签: sql visual-studio-2010 sql-server-2008 database-design entity-framework-4.1

修改

  

请查看以下图片,详细说明显示的图片   只有ADO.NET ENTITY FRAME WORK DOESNOT才能识别出一对多   协会,但DATASET DOES。

http://imgur.com/a4WzM.gif

(抱歉,但我没有足够的声誉直接上传图片)

我有两张桌子

table1:名字 [NAMEID,NAME](NAMEID是PK)

table2:说明 [DESCID,DESCRIPTION,IDofNAME](DESCID是PK,IDofNAME是与NAMEID相关的FK)

一个名称可以有许多描述,这些描述本身与名称无关。

SQL SERVER中的dataentry正常工作,并且还保留了该关系。

但是,问题

  

在vs10数据源中,“名称”表中有一个子“描述”   再次有一个孩子“名字”,它再次有一个孩子“描述”和   这种情况还没有结束。

     

“description”表与“name”表的关系也是如此   与“描述”表有子/关系,这也是   与“名称”表的关系,这件事没有尽头。

网格问题

通过拖放NAME表在设计时制作的数据网格显示字段 [nameid,名称,相关表格的名称(不是整个NAME的字段!)

请帮助我,在制作pk-fk的关系时我做错了什么

thanku

1 个答案:

答案 0 :(得分:0)

听起来你的桌子可能处于多对多的关系中。 一个名称可以有许多描述,每个描述可以描述零个或多个名称。 如果是这种情况,您应该在它们之间添加一个解析器表,例如

CREATE TABLE NameDescription
    ([nameid] [int] NOT NULL,
     [descriptionid] [int] NOT NULL )

使用这种方法,您将不再需要Description表中的外键,而是通过这个新表加入。