为了访问sqlite,我们需要在Nuget中安装Microsoftr的EntityFrameworkCore、EntityFrameworkCore.Sqlite、EntityFrameworkCore.Sqlite.Core
在SharedLibrary的Models里增加employee
cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SharedLibrary.Models
{
public class employee
{
public string? 人员姓名 { get; set; }
public string? 证件号码 { get; set; }
public string? 单位名称 { get; set; }
public string? 性别 { get; set; }
}
}
我们在Client的Pages里面增加一个Testtable.razor,里面放一个table用来显示sqlite里面一张表的内容。
cs
@page "/testtable"
@rendermode InteractiveAuto
<PageTitle>测试sqlite取数</PageTitle>
<button class="btn btn-primary" @onclick="getemployees">获取数据</button>
<table class="table">
<thead>
<tr>
<th>人员姓名</th>
<th>证件号码</th>
<th>单位名称</th>
<th>性别</th>
</tr>
</thead>
<tbody>
@foreach (var forecast in employees)
{
<tr>
<td>@forecast.人员姓名</td>
<td>@forecast.证件号码</td>
<td>@forecast.单位名称</td>
<td>@forecast.性别</td>
</tr>
}
</tbody>
</table>
@code {
private List<employee> employees=new List<employee>();
protected override async Task OnInitializedAsync()
{
}
private async Task getemployees()
{
employees = await EmployeeService.GetEmployeesAsync();
StateHasChanged(); // 通知 Blazor 组件数据已更新
}
}
在BlazorApp1的Controllers里增加EmployeeController:
cs
using Microsoft.AspNetCore.Mvc;
using SharedLibrary.Models;
using BlazorApp1.data;
using Microsoft.EntityFrameworkCore;
namespace BlazorApp1.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class EmployeeController
{
employee employeels = new employee();
private readonly dbcont _context;
public EmployeeController(dbcont context)
{
_context = context;
}
[HttpGet("Getemployee")]
public async Task<ActionResult<IEnumerable<employee>>> Getemployee()
{
return await _context.employee.Take(10).ToListAsync();
}
}
}