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
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Filtering sulle colonne in una QuickGrid di Blazor
Usare il colore CSS per migliorare lo stile della pagina
Creare una libreria CSS universale - Rotazione degli elementi
Ordinare randomicamente una lista in C#
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Gestione degli stili CSS con le regole @layer
Gestire la cancellazione di una richiesta in streaming da Blazor
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Supportare il sorting di dati tabellari in Blazor con QuickGrid