【问题标题】:Scaffolding Keyless Models on entity framework core 2.1在实体框架核心 2.1 上搭建无钥匙模型
【发布时间】:2018-06-14 20:59:14
【问题描述】:

我有一个简单的控制台应用程序,我正在尝试构建我所有的模型,但我有一些没有定义主键,实体框架 2.1 支持这种表,但仍然收到此警告

Unable to identify the primary key for table 'dbo.myTable'.
Unable to generate entity type for table 'dbo.myTable'.

所以它不会生成模型

 dotnet ef dbcontext scaffold "Server=MyServer;Database=MyDb;Trusted_Connection=True;MultipleActiveResultSets=true" Microsoft.EntityFrameworkCore.SqlServer -o Models -f

我是否缺少任何参数或对未定义主键的模型的任何帮助?

【问题讨论】:

标签: entity-framework-core entity-framework-core-2.1


【解决方案1】:

这是预期的行为。 EF Core 必须在 table 上需要一个 PrimaryKey,否则它不会 Scaffold 该表。所以要从这样的表生成模型类,你应该在表中添加 PK。

【讨论】:

  • 我知道这是预期的行为,但在 2.1 版本中,它们支持没有主键的表 docs.microsoft.com/en-us/ef/core/what-is-new/… 不幸的是,我有一个现有的数据库,我无法对任何表进行更改
  • 我安装了 github.com/ErikEJ/EFCorePowerTools 但不幸的是它也没有生成这些表,谢谢
【解决方案2】:

这在 EF 核心 3.0 之前是不可能的 您可以在当前处于预览状态的 Ef core 3.0 上对其进行测试。

【讨论】:

  • EF Core 3 发布了,我只能用它搭建一个数据库(这个数据库也有同样的问题),记得升级相关包为Microsoft.EntityFrameworkCore.DesignMicrosoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.Tools
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-13
  • 1970-01-01
  • 2021-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-18
相关资源
最近更新 更多