Scaffold-DbContext为没有主键的表创建模型
问题描述:
我正在尝试为ASP.NET核心MVC应用程序中的特定表创建DBcontext和相应的模型。该表没有任何主键。Scaffold-DbContext为没有主键的表创建模型
我正在下面脚手架的DbContext命令 -
Scaffold-DbContext "Server=XXXXX;Database=XXXXXXX;User Id=XXXXXXX;password=XXXXXXX" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -t TABLE_NAME -force -verbose
在包管理器控制台,我可以看到这个冗长的输出 -
...............
...............
Unable to identify the primary key for table 'dbo.TABLE_NAME'.
Unable to generate entity type for table 'dbo.TABLE_NAME'.
我的环境是 - VS2015 UPDATE3,.NET 1.0的核心.0,ASP.NET MVC核心应用程序。
有无论如何创建一个没有主键的表模型?
答
在EF Core中支持复杂类型(那些没有实体键的应用程序)处于积压:https://github.com/aspnet/EntityFramework/issues/246。这就是为什么在没有定义主键的情况下对表进行反向工程的尝试目前无法正常工作。
谢谢迈克。任何解决方法现在可用?我只是想从表格中读取数据;在此表上不需要插入/更新/删除操作。 – Sanket
1.5年过去了。它仍然是相同的情况?我们还不能没有主键的脚手架? –
逆向工程工具的最新版本仍然需要在模型生成的表格上定义PK。 –