同一表中的主键和外键

时间:2017-02-24 18:44:39

标签: sql entity-framework sql-server-2014

我首先使用SQL Server 2014和Entity Framework代码。我正在尝试创建一个表Account Master,其中包含客户和列的详细信息如下所示。

  • Id作为自动增量主键
  • Name as varchar
  • City as varchar
  • phonenumber as varchar
  • BrokerId as int

现在我的问题是如何使用列BrokerId上的主键将同名表Account Master的{​​{1}}作为外键引用。

因为在我的情况下,经纪人也将拥有所有这些细节。并且每个客户都没有必要拥有经纪人。我是否应该这样做。

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以在CREATE TABLE语句中添加外键约束吗?

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

这是将两个表链接在一起的常用方法。 除非我在你的问题中遗漏了一些内容......

答案 1 :(得分:1)

我正在回答“我是否应该这样做”。

请考虑创建两个单独的平板电脑用户和经纪人。即使用户和经纪人有相同的细节,记忆也是如此。

如果要为两个表提供可扩展性。能够有多对多的关系。

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