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,刚好发生在我身上。
没有必要有主键,但不是空的。
我有一个现有的数据库,我正在尝试使用 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,刚好发生在我身上。 没有必要有主键,但不是空的。