entity-framework - EF7 RC1 无法识别术语 'Scaffold-DbContext'

标签 entity-framework entity-framework-core

我正在尝试按照以下说明使用 EF7 RC1 从现有数据库搭建支架 https://media.readthedocs.org/pdf/ef/latest/ef.pdf

当我从包管理器控制台运行命令时

Scaffold-DbContext -provider EntityFramework.MicrosoftSqlServer -connection "Server=(localdb)\MSSQLLocalDB;Initial Catalog=Clients_Local;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"

我收到此错误

Scaffold-DbContext : The term 'Scaffold-DbContext' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Scaffold-DbContext -provider EntityFramework.MicrosoftSqlServer -conn ...
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (Scaffold-DbContext:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

我的project.json看起来像这样

{
  "userSecretsId": "aspnet5-WebApplication1-1702fb51-ff21-46b5-8685-eb0834dd86f0",
  "version": "1.0.0-*",
  "compilationOptions": {
    "emitEntryPoint": true
  },

  "dependencies": {
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final",
    "Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final",
    "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc1-final",
    "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final",
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
    "Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final"
  },

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel",
    "ef": "EntityFramework.Commands"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },

  "exclude": [
    "wwwroot",
    "node_modules"
  ],
  "publishExclude": [
    "**.user",
    "**.vspscc"
  ],
  "scripts": {
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
  }
}

研究此问题后,我删除了 C:\Users\.dnx\bin 的内容并使用更新了 dnvm

https://github.com/aspnet/Home#cmd

但我仍然遇到同样的错误。

最佳答案

看起来您必须使用 dnx 命令,而不是包管理器控制台,如 RC1 文档中所述:http://docs.efproject.net/en/latest/getting-started/aspnet5/existing-db.html


更新:EF 文档已经发生了一些变化。现在可以在这里找到 dnx 命令: http://docs.efproject.net/en/latest/platforms/aspnetcore/existing-db.html

如果它再次移动,以下是相关命令:

dnx ef dbcontext scaffold "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" EntityFramework.MicrosoftSqlServer --outputDir Models

关于entity-framework - EF7 RC1 无法识别术语 'Scaffold-DbContext',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33795705/

相关文章:

sql-server - 多个 Include/ThenInclude 在 EF Core 中导致重复

c# - Entity Framework : own ondelete action

c# - 我应该如何设计我的业务层来根据配置设置处理 Sql Server 和 Mongo DB

entity-framework - EF 4.0 中的可空 "scalar navigation properties": Mapping a non-nullable column from a separate database table to a nullable scalar entity property?

c# - 我应该如何在 MVC Core 中管理 DbContext 生命周期?

entity-framework - 如何修复 EntityFrameworkCore 中的数据迁移错误?

performance - Linq To Sql 与 Entity Framework 性能

entity-framework - 在FromSql Entity Framework Core方法中使用Inner Join

c# - EF Core 迁移从新的复合索引中删除第一个外键索引

c# - dotnet exec 在添加 Entity Framework Core (1.1.0) 迁移时需要托管的 .dll 或 .exe 扩展