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

标签 c# ef-code-first entity-framework-6

我有一个现有的数据库,我正在尝试使用 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 我看到每个表都被选中但是当导入完成一些未创建的表的实体时。我已经尝试了两次,并仔细检查了确实选择了没有实体的表进行导入。导入过程中没有抛出任何错误,所以我不确定为什么有些表会丢失。可能出了什么问题以及如何为每个选定的表获取实体?

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 代码优先要求在每个实体上使用主键,因此该工具无法映射这些表。

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

关于c# - EF Code First From DB 不为所有表创建实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34599449/

相关文章:

entity-framework - EF Fluent API 多对一关系,未获取导航属性

c# - 首先将外键映射到 EF 代码中的非主代理键列

c# - LINQ 查询根据数据库字段的属性返回列表

c# - 无法使用Windows身份验证IIS登录网站

c# - 使用 Unity 在 Oculus Rift 中重置/校准方向

ef-code-first - EF4.1 CodeFirst : Add field to join table

c# - 为其中包含嵌套实体的实体生成动态选择表达式

c# - SQL 查询没有获取所有数据 C#/ASP.net

c# - WCF 休息服务 : How to make query parameters required and return HTTP 400 on wrong values?

ASP.NET MVC 3 添加 Controller 抛出错误 "Object reference not set to an instance of object"