Ho due tabelle di SQL Server con chiavi primarie (PK) e una chiave esterna (FK) che collegano le due tabelle:Colonne di due tabelle di database relativi a uno ASP.NET GridView con EntityDataSource
1) Table "Order"
OrderID, int, PK
AddressID, int, FK
...
2) Table "Address"
AddressID, int, PK
City, nvarchar(50)
...
Poi ho Ho creato un modello di dati di entità (ADO.NET) fuori da queste due tabelle. Ora sulla mia pagina Web (ASP.NET) ho inserito un GridView con EntityDataSource. Nel mio GridView voglio visualizzare due colonne:
- IDOrdine
- City (appartenenti a quell'ordine e legati da tasto AddressID)
Come posso fare questo? Il mio problema è: quando configuro la Sorgente dati entità posso selezionare un "EntitySetName" che può essere "Ordine" o "Indirizzo" ma non entrambi, né posso selezionare alcun tipo di relazione. Se seleziono "ordine" come EntitySetName poi in GridView posso aggiungere le colonne
- OrderID
- Indirizzo
- Address.AddressID
Aggiunta colonna "Indirizzo" visualizza le celle vuote . Aggiungendo "OrderID" e "Address.AddressID" vengono visualizzati gli ID previsti. Ma come posso aggiungere alla "città" del relativo indirizzo sul mio GridView?
Grazie per l'aiuto in anticipo!
Edit: Precisazione:
Entity Framework ha creato una classe "ordine" e una classe "Indirizzo" corrispondenti alle tabelle del database. La classe "Ordine" ha un riferimento a un oggetto "Indirizzo" come proprietà di navigazione, corrispondente alla relazione 1-n tra la tabella Indirizzo e Ordine.
Fondamentalmente voglio avere una colonna nel mio GridView che visualizza Order.Address.City. Ho provato ad aggiungere un campo associato a "Address.City" come campo dati al GridView ma si traduce in un errore di runtime ("nessuna proprietà di questo tipo ...").
stasera stavo facendo un progetto di esempio- questa risposta è stata molto utile quando si cerca di impostare un costrutto simile. Grazie. –
Vorrei poter aggiungere di nuovo questa risposta ogni volta che torno a questa domanda, specialmente per "usare un BoundField come colonna ... NON è possibile". –