我正在尝试创建一个引用另一个表的非PK的FK: 这是我的桌子设计:
会员
CREATE TABLE [dbo].[Member](
[id] [int] IDENTITY(1,1) NOT NULL,
[education_id] [int] NOT NULL,
[Esos_ID] [int] NOT NULL,
[Passport_IC_No] [nvarchar](50) NOT NULL,
[CDS_Account_No] [nvarchar](100) NULL,
[Name] [nvarchar](50) NOT NULL,
[Nationality] [nvarchar](20) NOT NULL,
[Gender] [nvarchar](10) NOT NULL,
[Date_Joined] [date] NOT NULL,
[Contact_No] [nvarchar](15) NULL,
[Email] [nvarchar](50) NULL,
[Tax_File_No] [nvarchar](15) NULL,
[Designation] [nvarchar](max) NOT NULL,
[Terminated] [nvarchar](10) NOT NULL,
[Termination_Reason] [nvarchar](200) NULL,
[Termination_Date] [date] NULL,
[CreatedBy] [nvarchar](50) NOT NULL,
[CreatedDT] [datetime] NOT NULL,
[UpdatedBy] [nvarchar](50) NULL,
[UpdatedDT] [datetime] NULL,
[Status] [nvarchar](50) NOT NULL,
KPI_Inspection
CREATE TABLE [dbo].[KPI_Inspection](
[id] [int] IDENTITY(1,1) NOT NULL,
[Esos_ID] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[KPI_Score] [decimal](3, 2) NOT NULL,
我正在尝试将Esos_ID用作FK。它工作得很好是mssql服务器。我添加了这种关系。 但是,每当我在Visual Studio中的edmx文件(ASO .Net模型)中更新我的模型时,这两个表都没有连接,导航属性是空白的,如果你看一下下面的截图,你会看到我的会员表和KPI_Inspection表没有与我创建的外键,即Esos_ID连接:
我试图将Esos_ID(成员)约束类型的更改添加到唯一键和索引,这两者似乎都没有给我任何成功
但是,当我使用ID为FK引用的成员表PK时,表使用FK相互连接。 是否可以使用非PK列作为FK参考?