Entity Framework“从数据库更新模型,table成为关系

Entity Framework “Update model from Database, table becomes relation

我正在尝试从 visual studio 中创建一个 table 并通过右键单击文件并选择从数据库更新模型来更新 Visual Studio 中的 .edmx 文件。

我的 table 看起来像这样:

CREATE TABLE [dbo].[tableName] (
[UserId] UNIQUEIDENTIFIER NOT NULL,
[CategoryId]   INT         NOT NULL,
CONSTRAINT [PK_responsibleUser] PRIMARY KEY NONCLUSTERED ([UserId], [pkID] ASC),
CONSTRAINT [FK_responsibleUser_user] FOREIGN KEY ([UserId]) REFERENCES [dbo].[users] ([UserId]) ON DELETE CASCADE,
CONSTRAINT [FK_categoryResponsibleUser_category] FOREIGN KEY ([CategoryId]) REFERENCES [dbo].[categories] ([CategoryId]) ON DELETE CASCADE
);

这个 table 包含我想要 link 的 table 的两个外键。在我 运行 脚本 "Update Model from Database" 之后,弹出两个 table 之间的关系。

现在问题来了: 我需要 EF 在 Visual studio 中生成我的 class 的实例,如下所示:

public virtual DbSet<tableName> TableIWantToBeGeneratedByEF { get; set; }

正如我所说,使用当前映射,它只是在两个 table 之间创建了一个关系。在创建 table 时如何更改我的查询以实现此目的?这可以在使用两个外键作为主键时实现吗?

只需打开设计的模型,select所有(ctrl + A),按'delete'按钮删除它们,最后右键单击并select从数据库更新模型。这将强制 EF 重新生成所有模型。

(或者只删除所有引用的表,这样它们也重新生成)

差点忘了。似乎是 compound primary keys 导致了问题。我进行了更改,因此我的两个外键都只是作为外键而不是组合主键,然后创建了一个名为 Id 的列,而不是数据类型为 INT Identity。 运行 .edmx designer 和 boom 中的脚本 "Update Model from Database" 就在那里。