实体框架命令未运行

时间:2019-05-05 10:59:06

标签: c# postgresql entity-framework

我目前正在使用Postgresql和Entity Framework进行.Net Core 2.0项目。通过Visual Studio Code,我试图运行以下命令:

  

dotnet ef数据库更新

这样做会导致终端冻结,我必须删除它。项目已成功构建,并且已创建迁移。以下是我目前在应用程序中设置的内容:

csproj

<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
    <Folder Include="wwwroot\" />
</ItemGroup>

<ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="2.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0" />
</ItemGroup>

<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>

appsettings.json

{
  "ConnectionStrings":{
    "MyWebApiConnection" : "Server=localhost;Port=5432;User Id=username;Password=password;Database=dbname;"
  },
  "Logging": {
    "IncludeScopes": false,
    "Debug": {
      "LogLevel": {
        "Default": "Warning"
      }
    },
    "Console": {
      "LogLevel": {
        "Default": "Warning"
      }
    }
  }
}

Startup.cs

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
        services.AddEntityFrameworkNpgsql().AddDbContext<MyDBContext>(opt => 
        opt.UseNpgsql(Configuration.GetConnectionString("MyWebApiConnection")));
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseMvc();
    }
}

MyDBContext.cs

public class MyDBContext : DbContext
{
    public MyDBContext(DbContextOptions<MyDBContext> options) : base(options) { }

    public DbSet<User> Users { get; set; }
}

User.cs

public class User
{
    public int ID { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
}

0 个答案:

没有答案