EF Core Scaffold-DbContext表未包含在选择集中

时间:2017-11-22 22:19:05

标签: entity-framework asp.net-core asp.net-mvc-scaffolding

我最近升级到.Net Core 2.0,我遇到了很多问题,脚手架现有的数据库。

首先,当我跑

Scaffold-DbContext "Server=mysrv;Database=mydb;User Id=uname;password=pword" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

我收到以下错误。这真让我感到困惑,因为我的数据库中没有带有UK_principal_name索引的表?

Unable to find a table in the database matching the selected table dbo.sysdiagrams.
For index PK__sysdiagrams__0CBAE877. Unable to find parent table dbo.sysdiagrams. Skipping index.
For index UK_principal_name. Unable to find parent table dbo.sysdiagrams. Skipping index.

所以我尝试像这样从数据库中指定一个我想要的表。

Scaffold-DbContext "Server=mysrv;Database=mydb;User Id=uname;password=pword" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Table Burner

我得到了之前的错误以及此错误。

Index column dbo.BurnerHistory belongs to index PK_BurnerHistory on table Burn_Hist_Idx which is not included in the selection set. Skipping.

当表中的表格未包含在选择集中时,它是什么意思?在以前版本的.NET Core上,运行此scaffold命令没有问题,它会抓取我的所有表并在模型中为它​​们生成代码。

1 个答案:

答案 0 :(得分:0)

原来我的问题是我正在使用SQL Server 2005,并且Scaffold-Dbcontext在该版本上有dbo.sysdiagrams错误。不得不回到.NET的旧版本。

这些不只是警告,因为在我解决这个问题之前,我无法支撑我的模型。