数据库未使用代码优先方法在 blazor 中创建

Raj*_*aju 0 c# blazor visual-studio-2019 blazor-server-side

我正在使用 blazor 并且我正在应用代码优先方法

但问题是我的数据库没有创建

我的项目的层次结构

首先我创建一个项目,然后选择一个Visual Studio 2019 -> blazor app -> blazor server app

然后

我在 appsetting.json 添加 connetionstring

{
  "ConnectionStrings": {
    "DefaultConnection": "Data Source=servername;Initial Catalog=databasename;User ID=userid;Password=password"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"
}
Run Code Online (Sandbox Code Playgroud)

然后

上面的连接字符串名称在 startup.cs 中初始化

 public void ConfigureServices(IServiceCollection services)
        {
            services.AddRazorPages();
            services.AddServerSideBlazor();
            services.AddDbContext<MyDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
        }
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个 Emp 类

Emp.cs

namespace BlazorServerApp.Pages
{
    public class Emp:ComponentBase
    {
        public int empid { get; set; }
        public string empname { get; set; }
        public string empcountry { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后 我创建了一个 mydbcontext 类

MyDbContext.cs

namespace BlazorServerApp.Pages
{
    public class MyDbContext:DbContext
    {
        public MyDbContext(DbContextOptions<MyDbContext> options)
            : base(options)
        { }
        public DbSet<Emp> emps { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我在 pags 文件夹中创建了一个剃刀组件(EmployeeList)

EmployeeList.razor

@page "/"
@inherits Emp

<h3>EmployeeList</h3>

<div>
    <div>
        <h3>@empname @empcountry</h3>
    </div>
</div>

Run Code Online (Sandbox Code Playgroud)

然后运行项目但未创建数据库

我的项目的输出

问题是没有创建数据库?

帮助

eln*_*ngi 12

您可以先安装以下软件包,然后通过添加迁移来运行所需的数据库。按着这些次序:

首先,安装以下软件包:

Microsoft.EntityFrameworkCore.Tools

Microsoft.EntityFrameworkCore.SqlServer

在 Startup.cs 中添加两个:

using Microsoft.EntityFrameworkCore;

services.AddDbContext<Dbcontext>(options =>
           options.UseSqlServer(Configuration.GetConnectionString("DatabaseConnection")));
Run Code Online (Sandbox Code Playgroud)

然后在包管理器控制台中添加:

Add-Migration
Update-Datatbase
Run Code Online (Sandbox Code Playgroud)