my.ASPItalia.com
ASP.NET
|
HTML5
|
LINQ e Entity Framework
|
Silverlight
|
Windows Phone
|
.NET Framework
|
Libro WP7
|
Libro HTML5
|
Corso on-site HTML5
Iscriviti
Login
Newsletter
Home
Articoli
Script
Notizie
FORUM
Blogs
Lab
Media
Tutorials
Corsi
Libri
Tags
Tutti i forum
Ricerca
FAQ
Fai una domanda
query linq tra + tabelle query linq con chiavi esterne o join
in
.NET Framework
>
.NET Framework
Ultimo messaggio
1
2
>>
teio83
il 3 settembre 2010 alle 11:59
35 messaggi
dal 06 agosto 2010
Ciao a tutti...
io ho un modello di dati composto da 3 tabelle:
language(id, name, flag)
market(id,name,code)
language_market(id,marketId,languageId)
nel db sql marketId e languageId sono delle chivi esterne e credo anche nel mio modello edmx perchè la mia tabella language_market espone una properties (id) e 2 navigation properties (language, market)
da questa situazione io vorrei ricavare una lista di entità di tipo language a partire dal codice di un mercato ma purtroppo non riesco nemmeno a mettere insieme le 2 entità language e language_market senza ottenere errori
per ora io ho provato:
soluzione 1(che ritorna errore: Metodo 'SelectMany' non supportato)
DataServiceQuery<Language> languagesQuery = (
from lang in svcContext.Language
from lm in svcContext.Language_Market
select lang ) as DataServiceQuery<Language>;
soluzione 2(che ritorna metodo join non supportato)
DataServiceQuery<Language> languagesQuery = (
join lm in svcContext.Language_Market on lang equals lm.Language
select lang ) as DataServiceQuery<Language>;
Rispondi
Quoting
mizrael
il 3 settembre 2010 alle 12:07
351 messaggi
dal 14 ottobre 2008
Contributi
davideguida.netne.net
se puoi modificare il db e rimuovere il campo id dalla tabella language_market, troverai che nel nuovo modello generato gli oggetti market hanno una lista di languages (e viceversa)
Davide Guida
Developer, Data Manager @ Publicis Healthware
http://davideguida.netne.net
Rispondi
Quoting
teio83
il 3 settembre 2010 alle 12:29
35 messaggi
dal 06 agosto 2010
ho tolto dal database il campo id nella tabella language_market ho settato i 2 campi languageId e marketId come chiave primaria. nel modello adesso non vedo + la tabella language_market ma nella tabella market vedo una navigation properies relativa a languages e viceversa. Il problema è che la relazione tra la tabella market e la tabella language viene indicata come molti molti anche se a livello di codice posso ancora istanziare un'entità di tipo language_market.
Rispondi
Quoting
mizrael
il 3 settembre 2010 alle 12:35
351 messaggi
dal 14 ottobre 2008
Contributi
davideguida.netne.net
aspetta fammi capire, a bordo di un oggetto market (ad esempio) vedi una collezione di languages o una singola entità?
Il modello l'hai cancellato e ricreato o semplicemente aggiornato?
Davide Guida
Developer, Data Manager @ Publicis Healthware
http://davideguida.netne.net
Rispondi
Quoting
teio83
il 3 settembre 2010 alle 12:42
35 messaggi
dal 06 agosto 2010
allora sono andato nel db, ho eliminato la conolla id della tabella language_market e settato le 2 chiavi esterne, languageId e marketId, come chiave. dopo sono andato nello schema edmx, ho cancellato la tabella language_market, ho cliccato con il tasto dx ed ho selezionato update from database, dalla schermata che si è aperta sono andato sulla scheda add ed ho selezionato la tabella language_market. il risultato ottenuto è stato che: la tabella market espone una dependance properties di nome language e viceversa e la relazione tra le due è *-* (credo che indichi la relazione molti a molti)
Rispondi
Quoting
mizrael
il 3 settembre 2010 alle 12:47
351 messaggi
dal 14 ottobre 2008
Contributi
davideguida.netne.net
controlla se la property language è una collection.
In fase di lettura dal modello, ricordati di usare il metodo Include("language") per indicare ad EF di caricare anche la collezione annidata
Davide Guida
Developer, Data Manager @ Publicis Healthware
http://davideguida.netne.net
Rispondi
Quoting
teio83
il 3 settembre 2010 alle 12:52
35 messaggi
dal 06 agosto 2010
scusa ma mi puoi spiegare meglio come fare:
In fase di lettura dal modello, ricordati di usare il metodo Include("language") per indicare ad EF di caricare anche la collezione annidata
Rispondi
Quoting
mizrael
il 3 settembre 2010 alle 12:59
351 messaggi
dal 14 ottobre 2008
Contributi
davideguida.netne.net
supponendo che l'entity Language ti esponga una property Markets (una collezione, sia chiaro), per far in modo che leggendo dal context i Languages ti vengano caricati anche i Markets relativi, devi fare qualcosa del tipo:
var langs = from lang in svcContext.Language.Include("Markets") select lang;
puoi trovare maggiori dettagli qui:
http://msdn.microsoft.com/en-us/library/bb896272.aspx
Davide Guida
Developer, Data Manager @ Publicis Healthware
http://davideguida.netne.net
Rispondi
Quoting
1
2
>>
Salto rapido
Ultimi messaggi
Tutti i forum
Ricerca
Utenti online
ASP.NET
ASP.NET 2.0
ASP.NET 3.5
ASP.NET 4.0
.NET Framework
Silverlight
Windows Phone
Windows Presentation Foundation e WinForms
Windows Communication e Workflow
ASP - avanzato
ASP - base
SQL Server e MySQL
Libri
Hosting
Altri linguaggi e tecnologie
Windows Server, IIS & Security
E-commerce
OT
Commenti: blogs e notizie
Eventi
Torna al forum
| Feed
RSS
ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
In primo piano
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Speciale Silverlight 5: tutte le novità
Rilasciato il bollettino MS11-100 per risolvere i problemi di attacchi DoS di ASP.NET
I più letti di oggi
Preview 2 di ASP.NET MVC 2.0 ed una nuova versione per AJAX Control Toolkit
.NET Campus: Creare applicazioni veloci e user-friendly con jQuery, Microsoft AJAX Library e ASP.NET
Creazione di un alarm con suono personalizzato con Windows Phone 7.1
Microsoft lancia Windows 7 e Office 14
Paginare con i numeri di pagina un datagrid
Proteggersi da attacchi di SQL e code injection con ASP
Contare i record restituiti da una query
Concorso Windows Phone: AppLoad and win!
Ereditarietà degli Style in Silverlight
Formattazione automatica dei TextBlock
Media
Windows Phone 7.5 Developer Day: marketplace e strumenti per monetizzare le app
Windows Phone 7.5 Developer Day: costruire app con Visual Studio 2010 e Windows Phone Runtime
Tutti i media
In evidenza
Speciale web mobile: costruire applicazioni con ASP.NET, jQuery Mobile e PhoneGap
Speciale Silverlight 5: tutte le novità
Sviluppare applicazioni per Windows Phone: scopri come fare con il nostro nuovissimo libro!
Sviluppa le applicazioni del futuro oggi: impara con il nostro libro HTML5 Espresso!
Community Days 2012 - Milano
Visualizzare un template per browser mobile tramite un custom control ASP.NET
Windows 8 su ARM: avrà il desktop, Office e il connected standby
Rilasciato Entity Framework 4.3
MISC
I nostri autori
Collabora con noi!
Media Kit - Pubblicità sul nostro network