实体框架约束基数

时间:2012-05-15 14:43:49

标签: visual-studio-2010 entity-framework c#-4.0

如何对实体框架进行约束,以便将表格汽车与车辆(例如)中的外键关系读取为0..1 -> 1而不是* -> 1

我有桌子

create TABLE [dbo].[Vehicles](
  [Id] [int] IDENTITY(1,1) NOT NULL primary key,
  <rest of the columns>
)

create TABLE [dbo].[Cars](
  [Id] [int] NOT NULL,
  <rest of the columns>
)

和外键:

alter table [Cars] add foreign key(id) references [Vehicles](id)

当我从数据库创建模型时,它被创建为* -> 1而我无法更改:

enter image description here

我知道我手动更改了两个实体之间的关联但没关系因为它没有改变约束

我需要这样做,将Cars的baseType属性设置为Vehicle以实现继承。

目前我收到此错误:

  

多重性在关系中的角色'BoatsTPT'中无效   'FK__BoatsTPT__Id__117F9D94'。因为依赖角色指的是   关键属性,Dependent的多重性的上限   角色必须是1.

1 个答案:

答案 0 :(得分:1)

您必须首先在Id表中将Cars列设为主键,否则不是一对一关系。