2012-05-15 123 views
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

我知道我手動更改關聯een這兩個實體,但它並不重要,因爲它不會改變約束

我需要這樣做,將baseType屬性Cars設置爲Vehicle以實現繼承。

目前我得到這個錯誤:

Multiplicity is not valid in Role 'BoatsTPT' in relationship 'FK__BoatsTPT__Id__117F9D94'. Because the Dependent Role refers to the key properties, the upper bound of the multiplicity of the Dependent Role must be 1.

+0

難道你可以將Cars的PK設置爲車輛表格PK的FK,並且兩者不能爲NULL。 如果您在汽車表上製作車輛[Id]單獨列,它應該可以工作。 – Qpirate

回答

1

,必須首先使Id列在您的Cars表的主鍵否則就不是一個一對一的關係。

+0

完美,我錯過了。謝謝 – Diego