Nello script precedente (https://www.aspitalia.com/script/1482/Utilizzare-QuickGrid-Blazor-Entity-Framework.aspx) abbiamo visto come, grazie all'integrazione tra QuickGrid ed Entity Framework, numerose funzionalità associate a questo componente siano disponibili out of the box, semplicemente referenziando il DbSet desiderato nella proprietà Items.
L'aspetto interessante è che non siamo obbligati a passare esclusivamente un DbSet, ma è possible includere una normale Expression. Torniamo a dare un'occhiata al nostro DbContext, e in particolare alla relazione tra Share e Industry:
public class MyContext : DbContext { public MyContext(DbContextOptions<MyContext> options) : base(options) { } // Id, CompanyName, Value, Industry public DbSet<Share> Shares { get; set; } // Id, Name public DbSet<Industry> Industries { get; set; } }
Esiste una navigation property tra le due entity, che ovviamente possiamo referenziare anche in QuickGrid:
<QuickGrid Items="data.Shares.Include(x => x.Industry)" Pagination="@pagination"> <PropertyColumn Title="Company" Property="@(x => x.CompanyName)" Sortable="true" /> <PropertyColumn Title="Industry" Property="@(x => x.Industry.Name)" Sortable="true" /> <PropertyColumn Title="Value" Property="@(x => x.Value)" Format="c" Sortable="true" /> </QuickGrid>
L'unico accorgimento da tenere presente, è quello di utilizzare l'operatore Include per far sì che Entity Framework carichi la industry con un'unica query.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Change tracking e composition in Entity Framework
Paginare i risultati con QuickGrid in Blazor
Creare alias per tipi generici e tuple in C#
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Gestione degli stili CSS con le regole @layer
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Eliminare una project wiki di Azure DevOps
Gestire gli accessi con Token su Azure Container Registry
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Criptare la comunicazione con mTLS in Azure Container Apps
Ottimizzare le pull con Artifact Cache di Azure Container Registry
I più letti di oggi
- Simulare Azure Cosmos DB in locale con Docker
- Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
- .NET Conference Italia 2023 - Milano e Online
- .NET Conference Italia 2024 - Milano
- Configurare lo startup di applicazioni server e client con .NET Aspire
- MS03-45: risolti i problemi della patch 824141
- Utilizzare Container Queries nominali