2017-02-24 232 views
-2

我使用SQL Server 2014和實體框架代碼優先。我正在嘗試創建一個表格Account Master,其中包含客戶和專欄的詳細信息如下。同一表中的主鍵和外鍵

  • Id爲自動增量主鍵
  • Name爲varchar
  • City爲varchar
  • phonenumber爲varchar
  • BrokerId爲INT

現在我的問題是如何指BrokerId作爲相同表名的外鍵Account Master與列Id上的主鍵。

因爲在我的情況下,經紀人也將擁有所有這些細節。除了每個客戶都不需要經紀人。我是否應該這樣做。

在此先感謝。

回答

2

您可以將外鍵約束添加到您的CREATE TABLE語句嗎?

CONSTRAINT FK_AccMaster_ID FOREIGN KEY (BrokerID) 
    REFERENCES AccountMaster(ID) 

這是將兩個表連接在一起的常用方法。 除非我在你的問題中丟失了一些東西...

1

我回答「我是否應該這樣做」。

請考慮創建兩個單獨的平板電腦User和Broker。內存明智,即使用戶和經紀人有相同的細節,幾乎相同。

如果將爲您的表提供可擴展性。能夠建立多對多的關係。

同樣好的設計意味着讓一個表代表單個實體。要查詢經紀人,您不希望掃描用戶,反之亦然。