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)