2017-02-24 150 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。内存明智,即使用户和经纪人有相同的细节,几乎相同。

如果将为您的表提供可扩展性。能够建立多对多的关系。

同样好的设计意味着让一个表代表单个实体。要查询经纪人,您不希望扫描用户,反之亦然。