MVC3使用非PK作为外键

时间:2017-12-18 01:42:21

标签: mysql sql-server entity-framework asp.net-mvc-3

我正在尝试创建一个引用另一个表的非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连接:

My EDMX diagram

我试图将Esos_ID(成员)约束类型的更改添加到唯一键和索引,这两者似乎都没有给我任何成功

但是,当我使用ID为FK引用的成员表PK时,表使用FK相互连接。 是否可以使用非PK列作为FK参考?

0 个答案:

没有答案