5 messaggi dal 10 gennaio 2017
Utilizzo visual studio 2015, ma non riesco a utilizzare istruzioni tipo : Dim departmentQuery As ObjectQuery(Of Department) = _
From d In schoolContext.Departments.Include("Courses") _
Order By d.Name _
Select d
perché il compilatore mi dice che il tipo ObjectQuery non è definito. L'istruzione di imports del system.data.object non viene inserita nelle dichiarazioni (istruzione imports non è necessaria), qalcuno mi può aiutare?
grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
probabilmente hai trovato un articolo che si riferisce ad una versione precedente di Entity Framework (forse la 4).
Se stai usando EF6, la classe generica ObjectQuery si trova in questo namespace.
System.Data.Entity.Core.Objects

Ecco il link alla documentazione, da cui puoi appunto vedere il namespace.
https://msdn.microsoft.com/it-it/library/dn159794(v=vs.113).aspx

Comunque, se ti è strettamente necessario fare il casting ad ObjectQuery, puoi valorizzare la variabile semplicemente così, omettendo il tipo. Sarà il compilatore ad inferire il tipo di departmentQuery in base all'espressione che si trova alla destra dell'uguale (cioè la tua query linq).
Dim departmentQuery = _
From d In schoolContext.Departments.Include("Courses") _
Order By d.Name _
Select d


ciao,
Moreno

Enjoy learning and just keep making
5 messaggi dal 10 gennaio 2017
Grazie per la risposta. Effettivamente non facendo direttamente il cast non mi segnala errore, ma nel momento in cui vado ad eseguire la query, mi segnala l'errore. Nell'imports del namespace che mi dici tu (System.Data.Entity.Core.Objects), mi dice sempre che non è necessario lo spazio dei nomi e quindi non lo carica. Io utilizzo Visual studio 2015 community non vorrei che ci fossero delle limitazioni, infatti non riesco nemmeno a caricare le funzioni canoniche di entity... (vorrei fare la sum di un campo)
grazie per la vostra gentilezza
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
no, con Visual Studio 2015 Community non ci sono limitazioni in questo senso.
Io presumo che non sia un problema di Imports, ma di un problema nella query. Del resto, se adesso la compilazione va a buon fine significa che non ci sono errori nel codice. Dev'essere che la query LINQ è sbagliata oppure viene inviata nei confronti di un database che ha uno schema che non riflette le classi di entità che hai nel tuo modello.

Se ti è possibile dovresti preparare un progetto minimale e condividerlo, così lo posso vedere in funzione e capire dov'è il problema.
Intanto posta il testo dell'errore così come lo vedi a schermo.

ciao,
Moreno

Enjoy learning and just keep making
5 messaggi dal 10 gennaio 2017
Sto cercando di eseguire l'esercitazione course manager con il database school.
Nel file school.designer.vb, c'è il messaggio:
Generazione del codice predefinita abilitata per il modello 'C:\Users\antir\Documents\Visual Studio 2015\Projects\CourseManager\CourseManager\School.edmx'.
' Per abilitare la generazione del codice legacy, modificare il valore della proprietà della finestra di progettazione 'Strategia di generazione del codice
' su 'Legacy ObjectContext'. Questa proprietà è disponibile nella finestra Proprietà quando il modello è
' aperto nella finestra di progettazione.

' La mancata generazione di classi contesto ed entità può essere dovuta al fatto che è stato creato un modello vuoto, ma
' non è ancora stata scelta la versione di Entity Framework da utilizzare. Per generare una classe contesto e classi entità
' per il modello, aprire il modello nella finestra di progettazione, fare clic con il pulsante destro del mouse nell'area di progettazione e
' selezionare 'Aggiorna modello da database...', 'Genera database da modello...' o 'Aggiungi elemento di generazione
' codice...'.
Questo è quello che mi succede in qualsiasi progetto dove utilizzo entity. Nella finestra del modello edmx la strategia di generazione del codice disponibile è solo T4.
Quando faccio riferimento a ObjectQuery, il compilatore mi da errore "l'oggetto ObjectQuery non è definito.
Come faccio a condividere il progetto?
Grazie della gentilezza, non sono un programmatore, ma un ingegnere civile che vorrebbe approfondire questo argomento per migliorare un programma di gestione dello studio.
Saluti
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,


non sono un programmatore, ma un ingegnere civile che vorrebbe approfondire questo argomento per migliorare un programma di gestione dello studio.

Non ti preoccupare, tutti sono benvenuti :)


Come faccio a condividere il progetto?

Qui nel forum non è possibile caricare allegati, dovresti creare uno zip e metterlo su OneDrive, Dropbox o altro spazio di condivisione. Poi condividi il link.
Assicurati che nel progetto non ci siano password o altri dati sensibili, dato che verrà reso pubblico.

ciao,
Moreno
Modificato da BrightSoul il 27 gennaio 2017 10.24 -

Enjoy learning and just keep making

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.