Как заполнить таблицу в Blazor данными из базы данных? (Используя Radzen)
//файл index.razor
@using System.Linq.Dynamic.Core
@using Radzen
@using Radzen.Blazor
@using BlazorApp.Data
@using BlazorApp.Models
@using BlazorApp.Database
@using System.Buffers;
@using Microsoft.EntityFrameworkCore;
@using Microsoft.IdentityModel.Tokens
@using System.Diagnostics
@using System.Diagnostics.CodeAnalysis
@using Microsoft.JSInterop
@using System.Text.Json
@using System.Text.Json.Serialization
@using System.Text.Json.Serialization.Metadata
<RadzenText TextStyle="TextStyle.H3" TagName="TagName.H1" Class="my-4">
Parsing <strong>Wildberies</strong>
</RadzenText>
<RadzenDataGrid style="height: 335px" @ref="modelsGrid" Data="@listmodel" TItem="Model">
<Columns>
<RadzenDataGridColumn TItem="Model" Title="Id" Property="listmodel.Id" Frozen="true" Width="80px" TextAlign="TextAlign.Center" />
<RadzenDataGridColumn TItem="Model" Title="Title" Property="listmodel.Title" Frozen="true" Width="80px" TextAlign="TextAlign.Center" />
<RadzenDataGridColumn TItem="Model" Title="Price" Property="listmodel.Price" Frozen="true" Width="160px" TextAlign="TextAlign.Center" />
</Columns>
</RadzenDataGrid>
@code {
RadzenDataGrid<Model>? modelsGrid;
IList<Model> listmodel;
IEnumerable<Model>? Modelss;
async Task ReloadGridAsync()
{
listmodel = await new ApplicationContext().Models
.Include("Id")
.Include("Title")
.Include("Price")
.ToListAsync();
await modelsGrid.Reload();
}
}
//файл ApplicationContext
using BlazorApp.Models;
using Microsoft.EntityFrameworkCore;
using System;
namespace BlazorApp.Database
{
public class ApplicationContext : DbContext
{
public DbSet<Model> Models { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=C:\\Users\\User\\source\\repos\\parsing\\parsing\\bin\\Debug\\net6.0.helloapp.db");
}
}
}
//файл Model
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
namespace BlazorApp.Models
{
public class Model
{
public Guid Id { get; set; }
public string? Title { get; set; }
public string? Price { get; set; }
}
}