EF Code First From DB 不为所有表创建实体

EF Code First From DB not creating Entities for all tables

我有一个现有的数据库,我正在尝试使用 Entity Framework Code First From Database 为其生成 C# 实体。为此,我在 Visual Studio 2015 内执行 Add -> New Item -> ADO.NET Entity Data Model -> Code First from database。当我浏览 Entity Data Model Wizard 时,我看到每个 table 都被选中,但是当导入完成某些实体时tables 未创建。我已经尝试了两次,并仔细检查了确实选择了没有实体的 table 进行导入。导入过程中没有抛出任何错误,所以我不确定为什么其中缺少某些 tables。可能出了什么问题以及如何为每个选定的实体获取实体 table?

SQL 为缺少的 table 之一创建 Table 代码:

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 code-first 需要在每个实体上使用主键,因此该工具无法映射这些 table。

看起来像你 might be able to work around this with some trickery,但是给每个 table 添加一个 PK 几乎肯定是最好的方法。

如果Table没有至少一个参数不为空ADO.NET将不会生成class。不知道是不是BUG,刚好发生在我身上。 没有必要有主键,但不是空的。