« Blazor ASP.NET Core 7.0 » : différence entre les versions
De Banane Atomic
Aller à la navigationAller à la recherche
Aucun résumé des modifications |
|||
Ligne 1 : | Ligne 1 : | ||
[[Category:Blazor]] | [[Category:Blazor]] | ||
= Pages = | |||
<filebox fn='Pages/Items.razor'> | |||
@page "/items" @* url *@ | |||
@page "/item/{id:int}" @* url avec un parameter *@ | |||
@if (Items == null) @* attendre que la valeur soit chargée *@ | |||
{ | |||
<p><em>Loading...</em></p> | |||
} | |||
else | |||
{ /* ... */ } | |||
</filebox> | |||
* [https://docs.microsoft.com/en-us/aspnet/core/blazor/fundamentals/routing?view=aspnetcore-3.1#route-parameters Route parameters] | |||
* [https://docs.microsoft.com/en-us/aspnet/core/blazor/fundamentals/routing?view=aspnetcore-3.1#route-constraints Route constraints] | |||
<filebox fn='Pages/Items.razor.cs'> | |||
public partial class Table : ComponentBase | |||
{ | |||
[Parameter] | |||
public int Id { get; set; } | |||
</filebox> | |||
= [https://learn.microsoft.com/en-us/aspnet/core/blazor/blazor-server-ef-core?view=aspnetcore-7.0 Entity Framework Core] = | = [https://learn.microsoft.com/en-us/aspnet/core/blazor/blazor-server-ef-core?view=aspnetcore-7.0 Entity Framework Core] = | ||
== [https://learn.microsoft.com/en-us/ef/core/dbcontext-configuration/#using-a-dbcontext-factory-eg-for-blazor Using a DbContext factory] == | == [https://learn.microsoft.com/en-us/ef/core/dbcontext-configuration/#using-a-dbcontext-factory-eg-for-blazor Using a DbContext factory] == |
Version du 28 mars 2023 à 11:48
Pages
Pages/Items.razor |
@page "/items" @* url *@ @page "/item/{id:int}" @* url avec un parameter *@ @if (Items == null) @* attendre que la valeur soit chargée *@ { <p><em>Loading...</em></p> } else { /* ... */ } |
Pages/Items.razor.cs |
public partial class Table : ComponentBase { [Parameter] public int Id { get; set; } |
Entity Framework Core
Using a DbContext factory
DbContext isn't thread safe and isn't designed for concurrent use.
To handle multi-threads scenarios, use a AddDbContextFactory to create a DbContext for each query.
Program.cs |
builder.Services.AddDbContextFactory<MyDbContext>(); |
MyRepository.cs |
private readonly IDbContextFactory<MyDbContext> contextFactory; public DataSummaryRepository(IDbContextFactory<MyDbContext> contextFactory) { this.contextFactory = contextFactory; } public async Task<Data> FetchDataAsync() { // create a DbContext for this query, then dispose it once the query has been executed using var context = contextFactory.CreateDbContext(); } |