c# - 脚手架-DbContext : command not found

标签 c# sql-server entity-framework asp.net-core .net-core

我尝试从现有数据库对我的模型进行逆向工程,但是命令:Scaffold-DbContext "Server=(db);Database=xxxx;Trusted_connection=true;"Microsoft.EntityFrameWorkCore.SqlServer -OutputDir 模型 不起作用。

我收到了标题中的错误消息。

我安装了 Nuget 包:

Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
Microsoft.EntityFrameworkCore.SqlServer.Design

我不知道为什么它不起作用。(dotnet ef 命令有效) 我确定这是一个小问题,但我找不到解决方案。请帮助我

我的.csproj:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="IdentityServer4">
      <Version>1.5.0</Version>
    </PackageReference>
    <PackageReference Include="IdentityServer4.AccessTokenValidation">
      <Version>1.2.0</Version>
    </PackageReference>
    <PackageReference Include="IdentityServer4.AspNetIdentity">
      <Version>1.0.1</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Identity">
      <Version>1.1.1</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore">
      <Version>1.1.1</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore">
      <Version>1.1.1</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer">
      <Version>1.1.2</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design">
      <Version>1.1.2</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools">
      <Version>1.1.1</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.0" />
  </ItemGroup>
  <ItemGroup>
      <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" PrivateAssets="All" />
    </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.1" />
  </ItemGroup>
</Project>

最佳答案

这对我有用

使用dotnet ef dbcontext scaffold代替Scaffold-DbContext

例如

dotnet ef dbcontext scaffold "Host=my_host;Database=my_db;Username=my_user;Password=my_pw" Npgsql.EntityFrameworkCore.PostgreSQL -c ContextName -o OutPutFolder 

运行 dotnet ef dbcontext scaffold -h 查看您可以传递的选项!

关于c# - 脚手架-DbContext : command not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43892272/

相关文章:

c# - XAML 继承、代码重用、优化

javascript - MVC5 Controller 未接收ajax发布的html内容

.net - 将数据类型 bigint 转换为 int [SQL Server] 时出错

c# - 如何在 Entity Framework 代码优先方法中映射自身的递归关系

c# - 我可以在 Rhino Mocks 中设置当 AssertWasCalled 失败时显示一条用户友好的消息吗?

c# - 不包含 Where 的定义并且没有扩展方法?

c# - 在 mongodb 和 Entityframework 中使用相同的 C# Poco 类

entity-framework - 多个 DbContext 类使用相同的连接字符串?

sql - SQL日期时间需要读取00 :00:00. 000

sql - 无法从 VS 2012 找到 SQL Server 的 dll