Scaffold-DbContext为没有主键的表创建模型

San*_*ket 19 entity-framework entity-framework-core asp.net-core-mvc asp.net-core

我正在尝试为ASP.NET核心MVC应用程序中的特定表创建DBcontext和相应的模型.此表没有任何主键.

我按照Scaffold-DbContext命令运行 -

Scaffold-DbContext "Server=XXXXX;Database=XXXXXXX;User Id=XXXXXXX;password=XXXXXXX" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -t TABLE_NAME -force -verbose
Run Code Online (Sandbox Code Playgroud)

在软件包管理器控制台中,我可以看到这个详细的输出 -

...............
...............
Unable to identify the primary key for table 'dbo.TABLE_NAME'.
Unable to generate entity type for table 'dbo.TABLE_NAME'.
Run Code Online (Sandbox Code Playgroud)

我的环境是 - VS2015 update3,.NET核心1.0.0,ASP.NET MVC核心应用程序.

无论如何都要为没有主键的表创建模型?

Mik*_*ind 16

EF Core中对复杂类型(没有实体密钥的类型)的支持位于积压工作:https://github.com/aspnet/EntityFramework/issues/246.这就是为什么在没有定义主键的情况下对表进行逆向工程的任何尝试都不会起作用.

  • 这是2018年3月..悲伤. (6认同)
  • 谢谢迈克.目前可用的任何解决方法?我只是想从表中读取数据; 此表不需要插入/更新/删除操作. (4认同)
  • 1.5年过去了.它仍然是相同的情况?没有主键,我们还能不用脚手架吗? (3认同)
  • 逆向工程工具的最新版本仍然需要在表格上定义PK以用于模型生成. (3认同)
  • 2年,仍然是一个问题。微软wtf。 (3认同)