数据库脚手架在 .Net Core 1.1 中停止工作
Database scaffolding stopped working in .Net Core 1.1
我们将 .Net Core 1.0 项目升级到 .Net Core 1.1,并意识到我们不能再在 EF Core 中搭建数据库。这是 project.json 文件:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.EntityFrameworkCore.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
}
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final",
"Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final"
},
"frameworks": {
"netcoreapp1.1": {
"imports": "dnxcore50"
}
}
}
当以下命令在 PM 控制台中为 运行 时,会生成以下错误消息:Unrecognized option '--build-base-path'
Scaffold-DbContext "Server=(localdb)\ProjectsV13;Database=MyDatabase;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
谷歌搜索没有定论。有任何解决方法或解决方法吗?
对于 .NET Core 1.1,您必须在命令行上执行此操作。有关文档,请参阅以下 link:
https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet
我还有一个问题,我的 PATH 不正确。我不得不添加 C:\Program Files\dotnet\bin
因为它丢失了。
在命令行中,转到您的项目目录并输入
dotnet ef dbcontext scaffold "Server=<Your Server>;Database=<Your Database>;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer --output-dir <Your path for the model classes> --force
瞧,一秒钟后生成了源...
希望对您有所帮助
克劳斯
我们将 .Net Core 1.0 项目升级到 .Net Core 1.1,并意识到我们不能再在 EF Core 中搭建数据库。这是 project.json 文件:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.EntityFrameworkCore.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
}
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final",
"Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final"
},
"frameworks": {
"netcoreapp1.1": {
"imports": "dnxcore50"
}
}
}
当以下命令在 PM 控制台中为 运行 时,会生成以下错误消息:Unrecognized option '--build-base-path'
Scaffold-DbContext "Server=(localdb)\ProjectsV13;Database=MyDatabase;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
谷歌搜索没有定论。有任何解决方法或解决方法吗?
对于 .NET Core 1.1,您必须在命令行上执行此操作。有关文档,请参阅以下 link:
https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet
我还有一个问题,我的 PATH 不正确。我不得不添加 C:\Program Files\dotnet\bin
因为它丢失了。
在命令行中,转到您的项目目录并输入
dotnet ef dbcontext scaffold "Server=<Your Server>;Database=<Your Database>;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer --output-dir <Your path for the model classes> --force
瞧,一秒钟后生成了源...
希望对您有所帮助
克劳斯