2012-04-01 196 views
0

在概念模型中,似乎每个实体总是对应于数据库中的一个表。是否有可能在数据库中有三个表,而不是在概念模型中有相同数量的实体?实体的数量总是与数据库表的数量相同?

+0

为什么投票结束? – 2012-04-01 20:26:53

+0

可能是因为,正如常问问题所述,此网站更专注于回答涉及代码的问题。你的问题更多的是如何工作,这更像是一个程序员.stackexchange.com问题。 – 2012-04-09 19:58:17

回答

2

是否有可能在数据库中有三个表,而不是在概念模型中有相同数量的实体?

是的;试想一下:

[人] - [PersonToName] - [名]

每个人都可以有一个或多个名称,每个名称可以属于一个或更多的人。

实体框架可以采取的许多一对多表,做好护理:

Person.Names(导航属性)

Name.Persons(导航属性)

此外,使用继承时,不需要基表/实体,以便将其汇总到派生表/实体中。

+0

概念模型是一个对象,不必将一个对象1对1映射到您所说的表格。在将示例中的3个表格添加到EDMX(SSDL)时,EF将默认自动创建两个对象(CSDL)Person和Name,其导航属性映射到PersonToName /相关表格(在SSDL/MSL中)。 – 2012-04-01 19:44:13

+0

好的,对不起,我误解了你的“是”:-)我(错误地)认为你的意思是“是的,表的数量总是和实体的数量一样”。 – 2012-04-01 19:59:05

+1

OP标题与OP摘要问题是相反的,所以我引用它来澄清。 ;) – 2012-04-01 19:59:45

相关问题