C# EF代码首先来自数据库,不为所有表创建实体

C# EF代码首先来自数据库,不为所有表创建实体,c#,ef-code-first,entity-framework-6,C#,Ef Code First,Entity Framework 6,我有一个现有的数据库,我正试图首先从数据库中使用实体框架代码为其生成C#实体。为此,我正在Visual Studio 2015中执行Add->New Item->ADO.NET Entity Data Model->code First from database。当我通过实体数据模型向导时,我看到每个表都被选中,但当导入完成未创建的某些表的实体时。我已经尝试了两次,并再次检查没有实体的表是否确实被选中进行导入。导入过程中没有抛出错误,因此我不确定为什么某些表缺少权限。可能会出现什么问题?如何获

我有一个现有的数据库,我正试图首先从数据库中使用
实体框架代码
为其生成C#实体。为此,我正在Visual Studio 2015中执行
Add->New Item->ADO.NET Entity Data Model->code First from database
。当我通过
实体数据模型向导
时,我看到每个表都被选中,但当导入完成未创建的某些表的实体时。我已经尝试了两次,并再次检查没有实体的表是否确实被选中进行导入。导入过程中没有抛出错误,因此我不确定为什么某些表缺少权限。可能会出现什么问题?如何获得每个选定表的实体

SQL为其中一个缺少的表创建表代码:

CREATE TABLE [dbo].[ProgramControl] (
    [CodeName]    VARCHAR (80) NULL,
    [CodeValue1]  VARCHAR (50) NULL,
    [CodeValue2]  VARCHAR (50) NULL,
    [CodeValue3]  VARCHAR (50) NULL,
    [CodeValue4]  VARCHAR (50) NULL,
    [Description] TEXT         NULL
);

EF代码首先需要在每个实体上使用主键,因此该工具无法映射这些表


看起来像您,但几乎可以肯定,向每个表添加PK是最好的方法。

如果表中没有至少一个参数not null,ADO.NET将不会生成该类。我不知道这是否是一个错误,只是发生在我身上。
不必有主键,但不必有NOTNULL。

不重新创建哪种表?链接表(用于表示多对多关系的两列外键)?向我们展示那些没有通过该工具的表的表定义。我怀疑它们根本不是必需的,可以通过FK关系另一端实体中的集合来表示。@spender为您添加了一些代码。它们不是链接表,它们是必需的,因为我需要从它们中查询数据。那么我的选项是什么?我无法修改数据库以将PK添加到表中。在ASP.Net中,除了EF之外,我从未使用过任何东西来连接和查询数据库