实体框架不识别一对多关联。为啥?
Posted
技术标签:
【中文标题】实体框架不识别一对多关联。为啥?【英文标题】:EntityFrame Work does not recognize one-to-many association. why?实体框架不识别一对多关联。为什么? 【发布时间】:2011-08-11 08:28:30 【问题描述】:编辑
请查看以下图片,它详细说明了显示的图片 只有 ADO.NET ENTITY FRAME WORK 不能识别一对多 关联,但数据集可以。
http://imgur.com/a4WzM.gif
(对不起,我没有足够的声望直接上传图片)
我有两张桌子
table1:名称 [NAMEID, NAME](NAMEID 是 PK)
table2:说明 [DESCID,DESCRIPTION,IDofNAME](DESCID为PK,IDofNAME为与NAMEID相关的FK)
一个名字可以有很多描述,这些描述本身是独立于名字的。
来自 SQL SERVER 的数据条目有效,并且关系也被保留。
但是,问题
在 vs10 数据源中,“名称”表有一个子“描述”,它 再次有一个子“名称”,该子“名称”又有一个子“描述”,并且 这将永无止境。
“描述”表与“名称”表的关系也是如此 它与“描述”表有子关系/关系,它又具有 与“名称”表的关系,这件事没有尽头。
网格问题
在设计时通过拖放 NAME 表创建的数据网格,显示字段 [nameid, name, NAME OF THE RELATED TABLE(不是整个 NAME 的字段!)
请帮帮我,我在建立 pk-fk 的关系时做错了什么
谢谢
【问题讨论】:
【参考方案1】:听起来您的表可能是多对多关系。 一个名称可以有多个描述,每个可以描述零个或多个名称。 如果是这种情况,您应该在它们之间添加一个解析器表,例如
CREATE TABLE NameDescription
([nameid] [int] NOT NULL,
[descriptionid] [int] NOT NULL )
使用这种方法,您将不再需要描述表中的外键,而是通过这个新表进行连接。
【讨论】:
不是这样的,关系是一对多的。请看编辑,我已经链接了一张图片,请帮忙。 (抱歉没有足够的代表直接上传图片)以上是关于实体框架不识别一对多关联。为啥?的主要内容,如果未能解决你的问题,请参考以下文章