我正在使用带有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])
);
答案 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,则必须提供表格唯一性,但这不是一个好主意。