Linq a entità, riferimenti entità e DataGridViews
-
19-08-2019 - |
Domanda
Sto cercando di selezionare alcuni campi dalla mia entità da utilizzare come origine dati per una vista dati, ma non sono stato in grado di farlo funzionare. E 'possibile una cosa del genere? Ad esempio, ho un'entità Clienti che contiene diversi riferimenti alle entità. Voglio prendere campi dall'entità clienti e dall'interno di tali riferimenti entità e visualizzarli nella vista dati. Non sono stato in grado di elaborare una query Linq per raggiungere questo obiettivo, e anche quando si utilizza semplicemente l'intera entità come origine dati, i campi all'interno dei riferimenti alle entità non vengono visualizzati. Hai idea di cosa sto facendo di sbagliato? Grazie per l'aiuto.
Soluzione
from customer in context.customers
select new
{
Name = customer.Name,
City = customer.Address.City
}
che creerà un oggetto personalizzato e puoi vedere che la seconda proprietà fa riferimento a un campo di entità sull'entità primaria .. fondamentalmente basta trasformare i dati in un nuovo oggetto e associare l'enumerabile generato alla griglia.
scusate se questo è un po 'borbottato, digitando sul mio telefono.
Altri suggerimenti
Avvertenza: non è stata testata con riferimenti al framework di entità.
Quando si utilizzano origini dati oggetto è possibile fare riferimento alle proprietà dei riferimenti oggetto, ma è necessario innanzitutto eseguire il cast dell'oggetto:
<asp:Label ID="lblCity" runat="server" Text='<%# ((Customer)Container.DataItem).Address.City%>'></asp:Label>
Potrebbe essere questo il tuo problema ad accedere alle proprietà dei riferimenti alle entità?