2013-02-09 166 views
0

我在SQL Server 2012 Express數據庫中有兩個表,它們是這樣定義的。實體框架5不添加外鍵

SampleTableOne 的ColumnName爲nvarchar(50)主鍵 ID INT

SampleTableTwo ID INT主鍵 的ColumnName爲nvarchar(50)

當我使用下面的命令

ALTER TABLE SampleTableOne 
ADD FOREIGN KEY(Id) REFERENCES SampleTableTwo(Id) 
ON DELETE CASCADE 
ON UPDATE CASCADE 
GO 
添加一個外鍵

但是,當我將模型添加到實體框架中時,它不添加外鍵。我選擇了「在模型中包含外鍵列」。有沒有我失蹤的一步?

編輯:

我的目標是一對一的關係。

+0

建議:名稱和編號是SQL Server保留關鍵字。作爲表列名稱使用不是一件好事。你的數據庫管理員不喜歡它 – Hiten004 2013-02-09 05:23:56

+0

我剛剛使用了數字作爲示例名稱,我改變了它 – tympaniplayer 2013-02-09 06:20:44

回答

1

第三partAssociations in EF Code Firstsixth part看見共享主密鑰關聯的侷限性,並認爲這種類型的關聯的是相對罕見的,並且在許多模式,一對一的和多值關聯表示與一個外鍵字段和一個唯一的約束。

+1

多值實體關聯定義爲實體引用的集合。一對多關聯是涉及集合的最重要的一種實體關聯。當一個簡單的雙向多對一/一對多的人能夠完成這項工作時,我們甚至不鼓勵使用更具異國情調的關聯風格。一個多對多的關聯可能總是被表示爲一個介入類的兩對多關聯。這種模式通常更容易擴展,所以我們傾向於不在應用程序中使用多對多關聯 – zandi 2013-02-09 06:42:35

+0

這應該是一對一的,這種模式仍然適用嗎? – tympaniplayer 2013-02-09 16:13:04