我无法在ASP.NET Core中创建迁移。解决方案是什么?

问题描述 投票:0回答:1

Visual Studio 2019社区。我想创建一个表来创建迁移并与SQL Server 2014连接。但是当我运行

add-migrations AddMusicStoreToDb

我收到一个错误:

add-migrations:术语'add-migrations'不被视为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者是否包含路径,请验证路径是否正确,然后重试。

在线:1个字符:1+添加迁移AddMusicStoreToDb+ ~~~~~~~~~~~~~~~+ CategoryInfo:ObjectNotFound :(添加迁移:字符串)[],CommandNotFoundException+ FullyQualifiedErrorId:CommandNotFoundException


appsettings.json

{
  "ConnectingStrings": {
    "DefaultConnection": "Server=DESKTOP-NHG0GU1\\SQLEXPRESS;Database=MusicStoreList  ;Trusted_Connection=True;MultipleActiveResultSets=true;"
  },

  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"
}

MusicStoreListContext.cs:

using Microsoft.EntityFrameworkCore;

namespace MusicStoreRazor.UI.Models
{
    public class MusicStoreListContext:DbContext
    {
        public MusicStoreListContext(DbContextOptions<MusicStoreListContext> options):base(options)
        {

        }
        public DbSet<Music> Musics { get; set; }
    }
}

Startup.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Options;
using MusicStoreRazor.UI.Models;

namespace MusicStoreRazor.UI
{
    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.AddDbContext<MusicStoreListContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
            services.AddRazorPages().AddRazorRuntimeCompilation();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();
            });
        }
    }
}
c# sql-server entity-framework visual-studio-2019 core
1个回答
0
投票

您需要在命令前加上dotnet ef

  1. dotnet ef migrations add AddMusicStoreToDb
  2. dotnet ef database update

https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli

© www.soinside.com 2019 - 2024. All rights reserved.