为什么表没有插入到Model.edmx文件图中

时间:2018-02-18 14:51:39

标签: sql-server asp.net-mvc

我正在使用带有SQL Server和EF6的ASP.NET MVC,当我创建ADO.NET数据模型时,数据库中的所有表都被插入到.edmx图表中,除了这一个表格(如下所示) )。当我打开.edmx属性时,我发现了这个(MODEL.SupervisorAOI Assassination)但没有(MODEL.SupervisorAOI实体类型)。

我的桌子有错误吗?

CREATE TABLE [dbo].[SupervisorAOI] 
(
    [supervisorid] VARCHAR (50) NOT NULL,
    [AOIId] INT NOT NULL,
    [SUPAOI] INT NOT NULL IDENTITY,

    CONSTRAINT [FK_SupervisorAOI_AreaOfInterest] 
        FOREIGN KEY ([AOIId]) REFERENCES [dbo].[AreaOFInterest] ([AOIId]),
    CONSTRAINT [FK_SupervisorAOI_Supervisors] 
        FOREIGN KEY ([supervisorid]) REFERENCES [dbo].[Supervisors] ([supervisorId])
);

2 个答案:

答案 0 :(得分:1)

我能看到的问题是你的主键不需要'not null',因为默认情况下主键不可为空。使它看起来如下。

[SUPAOID] INT IDENTITY

建议将主键命名为ID或使用Id附加主键。您的主键可能是SUPAOID或SupervisorAOIID。

答案 1 :(得分:0)

table没有Primary Key。您可能拥有SUPAOI列标识,但这还不够......

解决EntityFramework需要在表格上设置Primary Key (Entity Key)。每个表格的最佳做法应为PK。更改表结构并添加主列,然后更新模型..

 [SUPAOI] INT NOT NULL IDENTITY(1,1) PRIMARY KEY,

注意:如果您不使用PK,则必须提供表格唯一性,但这不是一个好主意。