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
Usare lo spread operator con i collection initializer in C#
Creare un webhook in Azure DevOps
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Paginare i risultati con QuickGrid in Blazor
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Eseguire i worklow di GitHub su runner potenziati
Come migrare da una form non tipizzata a una form tipizzata in Angular
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Eseguire operazioni sui blob con Azure Storage Actions